From 7ac7f7d42469c845929af1a046d0d314b2f77149 Mon Sep 17 00:00:00 2001 From: lucas lelievre Date: Wed, 27 Apr 2022 22:29:09 +0200 Subject: [PATCH] New formatting rules --- .editorconfig | 1153 +++- src/main/java/dev/slimevr/Main.java | 22 +- .../java/dev/slimevr/NetworkProtocol.java | 2 +- src/main/java/dev/slimevr/VRServer.java | 44 +- .../java/dev/slimevr/autobone/AutoBone.java | 107 +- src/main/java/dev/slimevr/bridge/Bridge.java | 10 +- .../slimevr/bridge/OpenVRNativeBridge.java | 1 - .../java/dev/slimevr/bridge/PipeState.java | 2 +- .../dev/slimevr/bridge/ProtobufBridge.java | 37 +- .../dev/slimevr/bridge/ProtobufMessages.java | 4642 ++++++++--------- .../java/dev/slimevr/bridge/VMCBridge.java | 5 +- .../java/dev/slimevr/gui/AutoBoneWindow.java | 39 +- .../dev/slimevr/gui/CalibrationWindow.java | 19 +- src/main/java/dev/slimevr/gui/Keybinding.java | 3 +- .../java/dev/slimevr/gui/ScalableFont.java | 2 +- .../dev/slimevr/gui/SkeletonConfigGUI.java | 17 +- .../java/dev/slimevr/gui/SkeletonList.java | 16 +- .../dev/slimevr/gui/TrackersFiltersGUI.java | 28 +- .../java/dev/slimevr/gui/TrackersList.java | 68 +- .../java/dev/slimevr/gui/VRServerGUI.java | 75 +- src/main/java/dev/slimevr/gui/WiFiWindow.java | 19 +- .../dev/slimevr/gui/swing/ButtonTimer.java | 6 +- .../java/dev/slimevr/gui/swing/EJBag.java | 2 +- .../dev/slimevr/gui/swing/EJBagNoStretch.java | 4 +- .../java/dev/slimevr/gui/swing/EJBox.java | 2 +- .../dev/slimevr/gui/swing/EJBoxNoStretch.java | 6 +- .../java/dev/slimevr/gui/swing/EJPanel.java | 10 +- .../java/dev/slimevr/gui/swing/EJlabel.java | 3 +- .../hardware/magentometer/Magneto.java | 2 +- .../windows/WindowsNamedPipeBridge.java | 21 +- .../windows/WindowsNamedPipeVRBridge.java | 45 +- .../WindowsSteamVRPipeInputBridge.java | 63 +- .../dev/slimevr/poserecorder/BVHRecorder.java | 9 +- .../dev/slimevr/poserecorder/PoseFrameIO.java | 11 +- .../poserecorder/PoseFrameSkeleton.java | 6 +- .../poserecorder/PoseFrameTracker.java | 7 +- .../dev/slimevr/poserecorder/PoseFrames.java | 8 +- .../slimevr/poserecorder/PoseRecorder.java | 18 +- .../slimevr/poserecorder/TrackerFrame.java | 4 +- .../slimevr/posestreamer/BVHFileStream.java | 24 +- .../slimevr/posestreamer/PoseDataStream.java | 10 +- .../posestreamer/PoseFrameStreamer.java | 6 +- .../slimevr/posestreamer/PoseStreamer.java | 22 +- .../posestreamer/ServerPoseStreamer.java | 1 - .../posestreamer/StdBVHFileStream.java | 4 +- .../posestreamer/TickPoseStreamer.java | 4 +- .../posestreamer/TransformNodeWrapper.java | 15 +- .../dev/slimevr/protocol/DataFeedBuilder.java | 8 +- .../slimevr/protocol/GenericConnection.java | 2 - .../slimevr/protocol/ProtocolAPIServer.java | 1 - .../java/dev/slimevr/protocol/RPCBuilder.java | 3 - .../java/dev/slimevr/protocol/RPCHandler.java | 6 - .../dev/slimevr/serial/SerialHandler.java | 13 +- .../dev/slimevr/serial/SerialListener.java | 7 +- .../ComputedHumanPoseTrackerPosition.java | 2 +- .../vr/processor/HumanPoseProcessor.java | 12 +- .../slimevr/vr/processor/TransformNode.java | 7 +- .../vr/processor/skeleton/SimpleSkeleton.java | 103 +- .../vr/processor/skeleton/SkeletonConfig.java | 67 +- .../skeleton/SkeletonConfigCallback.java | 6 +- .../skeleton/SkeletonConfigToggle.java | 20 +- .../skeleton/SkeletonConfigValue.java | 25 +- .../vr/trackers/CalibratingTracker.java | 6 +- .../vr/trackers/CircularArrayList.java | 8 +- .../slimevr/vr/trackers/ComputedTracker.java | 5 +- .../dev/slimevr/vr/trackers/DeviceType.java | 1 - .../dev/slimevr/vr/trackers/IMUTracker.java | 51 +- .../dev/slimevr/vr/trackers/MPUTracker.java | 4 +- .../dev/slimevr/vr/trackers/SensorTap.java | 2 +- .../slimevr/vr/trackers/ShareableTracker.java | 2 +- .../java/dev/slimevr/vr/trackers/Tracker.java | 92 +- .../slimevr/vr/trackers/TrackerConfig.java | 1 - .../vr/trackers/TrackerMountingRotation.java | 4 +- .../slimevr/vr/trackers/TrackerPosition.java | 36 +- .../dev/slimevr/vr/trackers/TrackerRole.java | 24 +- .../slimevr/vr/trackers/TrackerStatus.java | 14 +- .../vr/trackers/TrackerWithBattery.java | 4 +- .../slimevr/vr/trackers/TrackerWithTPS.java | 4 +- .../dev/slimevr/vr/trackers/udp/Device.java | 9 +- .../vr/trackers/udp/SensorSpecificPacket.java | 6 +- .../vr/trackers/udp/TrackersUDPServer.java | 68 +- .../slimevr/vr/trackers/udp/UDPPacket.java | 39 +- .../vr/trackers/udp/UDPPacket10PingPong.java | 1 - .../vr/trackers/udp/UDPPacket11Serial.java | 1 - .../vr/trackers/udp/UDPPacket13Tap.java | 4 +- .../vr/trackers/udp/UDPPacket14Error.java | 1 - .../trackers/udp/UDPPacket15SensorInfo.java | 29 +- .../trackers/udp/UDPPacket17RotationData.java | 7 +- .../vr/trackers/udp/UDPPacket1Rotation.java | 4 +- .../udp/UDPPacket200ProtocolChange.java | 1 - .../trackers/udp/UDPPacket20Temperature.java | 1 - .../vr/trackers/udp/UDPProtocolParser.java | 17 +- .../websocketapi/WebSocketVRBridge.java | 26 +- .../slimevr/websocketapi/WebsocketAPI.java | 11 +- .../unit/ReferenceAdjustmentsTests.java | 51 +- 95 files changed, 4092 insertions(+), 3348 deletions(-) diff --git a/.editorconfig b/.editorconfig index dad0286d5..4cb281395 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,13 +1,1140 @@ -# This file is for unifying the coding style for different editors and IDEs -# See editorconfig.org - -root = true - -[*] -indent_style = tab -end_of_line = lf -charset = utf-8 -# This line causes problems with VSCode and potentially with other editors where all purely -# whitespace lines are trimmed to be empty when saved, causing excessive worthless changes with Git -#trim_trailing_whitespace = true -insert_final_newline = true +[*] +charset = utf-8 +end_of_line = crlf +indent_size = 4 +indent_style = space +insert_final_newline = false +max_line_length = 120 +tab_width = 4 +ij_continuation_indent_size = 8 +ij_formatter_off_tag = @formatter:off +ij_formatter_on_tag = @formatter:on +ij_formatter_tags_enabled = false +ij_smart_tabs = false +ij_visual_guides = none +ij_wrap_on_typing = false + +[*.css] +ij_css_align_closing_brace_with_properties = false +ij_css_blank_lines_around_nested_selector = 1 +ij_css_blank_lines_between_blocks = 1 +ij_css_block_comment_add_space = false +ij_css_brace_placement = end_of_line +ij_css_enforce_quotes_on_format = false +ij_css_hex_color_long_format = false +ij_css_hex_color_lower_case = false +ij_css_hex_color_short_format = false +ij_css_hex_color_upper_case = false +ij_css_keep_blank_lines_in_code = 2 +ij_css_keep_indents_on_empty_lines = false +ij_css_keep_single_line_blocks = false +ij_css_properties_order = font,font-family,font-size,font-weight,font-style,font-variant,font-size-adjust,font-stretch,line-height,position,z-index,top,right,bottom,left,display,visibility,float,clear,overflow,overflow-x,overflow-y,clip,zoom,align-content,align-items,align-self,flex,flex-flow,flex-basis,flex-direction,flex-grow,flex-shrink,flex-wrap,justify-content,order,box-sizing,width,min-width,max-width,height,min-height,max-height,margin,margin-top,margin-right,margin-bottom,margin-left,padding,padding-top,padding-right,padding-bottom,padding-left,table-layout,empty-cells,caption-side,border-spacing,border-collapse,list-style,list-style-position,list-style-type,list-style-image,content,quotes,counter-reset,counter-increment,resize,cursor,user-select,nav-index,nav-up,nav-right,nav-down,nav-left,transition,transition-delay,transition-timing-function,transition-duration,transition-property,transform,transform-origin,animation,animation-name,animation-duration,animation-play-state,animation-timing-function,animation-delay,animation-iteration-count,animation-direction,text-align,text-align-last,vertical-align,white-space,text-decoration,text-emphasis,text-emphasis-color,text-emphasis-style,text-emphasis-position,text-indent,text-justify,letter-spacing,word-spacing,text-outline,text-transform,text-wrap,text-overflow,text-overflow-ellipsis,text-overflow-mode,word-wrap,word-break,tab-size,hyphens,pointer-events,opacity,color,border,border-width,border-style,border-color,border-top,border-top-width,border-top-style,border-top-color,border-right,border-right-width,border-right-style,border-right-color,border-bottom,border-bottom-width,border-bottom-style,border-bottom-color,border-left,border-left-width,border-left-style,border-left-color,border-radius,border-top-left-radius,border-top-right-radius,border-bottom-right-radius,border-bottom-left-radius,border-image,border-image-source,border-image-slice,border-image-width,border-image-outset,border-image-repeat,outline,outline-width,outline-style,outline-color,outline-offset,background,background-color,background-image,background-repeat,background-attachment,background-position,background-position-x,background-position-y,background-clip,background-origin,background-size,box-decoration-break,box-shadow,text-shadow +ij_css_space_after_colon = true +ij_css_space_before_opening_brace = true +ij_css_use_double_quotes = true +ij_css_value_alignment = do_not_align + +[*.feature] +indent_size = 2 +ij_gherkin_keep_indents_on_empty_lines = false + +[*.gsp] +ij_gsp_keep_indents_on_empty_lines = false + +[*.haml] +indent_size = 2 +ij_haml_keep_indents_on_empty_lines = false + +[*.java] +ij_java_align_consecutive_assignments = false +ij_java_align_consecutive_variable_declarations = false +ij_java_align_group_field_declarations = false +ij_java_align_multiline_annotation_parameters = false +ij_java_align_multiline_array_initializer_expression = false +ij_java_align_multiline_assignment = false +ij_java_align_multiline_binary_operation = false +ij_java_align_multiline_chained_methods = false +ij_java_align_multiline_extends_list = false +ij_java_align_multiline_for = true +ij_java_align_multiline_method_parentheses = false +ij_java_align_multiline_parameters = true +ij_java_align_multiline_parameters_in_calls = false +ij_java_align_multiline_parenthesized_expression = false +ij_java_align_multiline_records = true +ij_java_align_multiline_resources = true +ij_java_align_multiline_ternary_operation = false +ij_java_align_multiline_text_blocks = false +ij_java_align_multiline_throws_list = false +ij_java_align_subsequent_simple_methods = false +ij_java_align_throws_keyword = false +ij_java_annotation_parameter_wrap = off +ij_java_array_initializer_new_line_after_left_brace = false +ij_java_array_initializer_right_brace_on_new_line = false +ij_java_array_initializer_wrap = off +ij_java_assert_statement_colon_on_next_line = false +ij_java_assert_statement_wrap = off +ij_java_assignment_wrap = off +ij_java_binary_operation_sign_on_next_line = false +ij_java_binary_operation_wrap = off +ij_java_blank_lines_after_anonymous_class_header = 0 +ij_java_blank_lines_after_class_header = 0 +ij_java_blank_lines_after_imports = 1 +ij_java_blank_lines_after_package = 1 +ij_java_blank_lines_around_class = 1 +ij_java_blank_lines_around_field = 0 +ij_java_blank_lines_around_field_in_interface = 0 +ij_java_blank_lines_around_initializer = 1 +ij_java_blank_lines_around_method = 1 +ij_java_blank_lines_around_method_in_interface = 1 +ij_java_blank_lines_before_class_end = 0 +ij_java_blank_lines_before_imports = 1 +ij_java_blank_lines_before_method_body = 0 +ij_java_blank_lines_before_package = 0 +ij_java_block_brace_style = end_of_line +ij_java_block_comment_add_space = false +ij_java_block_comment_at_first_column = true +ij_java_builder_methods = none +ij_java_call_parameters_new_line_after_left_paren = false +ij_java_call_parameters_right_paren_on_new_line = false +ij_java_call_parameters_wrap = off +ij_java_case_statement_on_separate_line = true +ij_java_catch_on_new_line = false +ij_java_class_annotation_wrap = split_into_lines +ij_java_class_brace_style = end_of_line +ij_java_class_count_to_use_import_on_demand = 5 +ij_java_class_names_in_javadoc = 1 +ij_java_do_not_indent_top_level_class_members = false +ij_java_do_not_wrap_after_single_annotation = false +ij_java_do_while_brace_force = never +ij_java_doc_add_blank_line_after_description = true +ij_java_doc_add_blank_line_after_param_comments = false +ij_java_doc_add_blank_line_after_return = false +ij_java_doc_add_p_tag_on_empty_lines = true +ij_java_doc_align_exception_comments = true +ij_java_doc_align_param_comments = true +ij_java_doc_do_not_wrap_if_one_line = false +ij_java_doc_enable_formatting = true +ij_java_doc_enable_leading_asterisks = true +ij_java_doc_indent_on_continuation = false +ij_java_doc_keep_empty_lines = true +ij_java_doc_keep_empty_parameter_tag = true +ij_java_doc_keep_empty_return_tag = true +ij_java_doc_keep_empty_throws_tag = true +ij_java_doc_keep_invalid_tags = true +ij_java_doc_param_description_on_new_line = false +ij_java_doc_preserve_line_breaks = false +ij_java_doc_use_throws_not_exception_tag = true +ij_java_else_on_new_line = false +ij_java_entity_dd_suffix = EJB +ij_java_entity_eb_suffix = Bean +ij_java_entity_hi_suffix = Home +ij_java_entity_lhi_prefix = Local +ij_java_entity_lhi_suffix = Home +ij_java_entity_li_prefix = Local +ij_java_entity_pk_class = java.lang.String +ij_java_entity_vo_suffix = VO +ij_java_enum_constants_wrap = off +ij_java_extends_keyword_wrap = off +ij_java_extends_list_wrap = off +ij_java_field_annotation_wrap = split_into_lines +ij_java_finally_on_new_line = false +ij_java_for_brace_force = never +ij_java_for_statement_new_line_after_left_paren = false +ij_java_for_statement_right_paren_on_new_line = false +ij_java_for_statement_wrap = off +ij_java_generate_final_locals = false +ij_java_generate_final_parameters = false +ij_java_if_brace_force = never +ij_java_imports_layout = *,|,javax.**,java.**,|,$* +ij_java_indent_case_from_switch = true +ij_java_insert_inner_class_imports = false +ij_java_insert_override_annotation = true +ij_java_keep_blank_lines_before_right_brace = 0 +ij_java_keep_blank_lines_between_package_declaration_and_header = 1 +ij_java_keep_blank_lines_in_code = 1 +ij_java_keep_blank_lines_in_declarations = 1 +ij_java_keep_builder_methods_indents = false +ij_java_keep_control_statement_in_one_line = true +ij_java_keep_first_column_comment = true +ij_java_keep_indents_on_empty_lines = false +ij_java_keep_line_breaks = true +ij_java_keep_multiple_expressions_in_one_line = false +ij_java_keep_simple_blocks_in_one_line = false +ij_java_keep_simple_classes_in_one_line = false +ij_java_keep_simple_lambdas_in_one_line = false +ij_java_keep_simple_methods_in_one_line = false +ij_java_label_indent_absolute = false +ij_java_label_indent_size = 0 +ij_java_lambda_brace_style = end_of_line +ij_java_layout_static_imports_separately = true +ij_java_line_comment_add_space = false +ij_java_line_comment_at_first_column = true +ij_java_message_dd_suffix = EJB +ij_java_message_eb_suffix = Bean +ij_java_method_annotation_wrap = split_into_lines +ij_java_method_brace_style = end_of_line +ij_java_method_call_chain_wrap = off +ij_java_method_parameters_new_line_after_left_paren = false +ij_java_method_parameters_right_paren_on_new_line = false +ij_java_method_parameters_wrap = off +ij_java_modifier_list_wrap = false +ij_java_names_count_to_use_import_on_demand = 3 +ij_java_new_line_after_lparen_in_record_header = false +ij_java_packages_to_use_import_on_demand = java.awt.*,javax.swing.* +ij_java_parameter_annotation_wrap = off +ij_java_parentheses_expression_new_line_after_left_paren = false +ij_java_parentheses_expression_right_paren_on_new_line = false +ij_java_place_assignment_sign_on_next_line = false +ij_java_prefer_longer_names = true +ij_java_prefer_parameters_wrap = false +ij_java_record_components_wrap = normal +ij_java_repeat_synchronized = true +ij_java_replace_instanceof_and_cast = false +ij_java_replace_null_check = true +ij_java_replace_sum_lambda_with_method_ref = true +ij_java_resource_list_new_line_after_left_paren = false +ij_java_resource_list_right_paren_on_new_line = false +ij_java_resource_list_wrap = off +ij_java_rparen_on_new_line_in_record_header = false +ij_java_session_dd_suffix = EJB +ij_java_session_eb_suffix = Bean +ij_java_session_hi_suffix = Home +ij_java_session_lhi_prefix = Local +ij_java_session_lhi_suffix = Home +ij_java_session_li_prefix = Local +ij_java_session_si_suffix = Service +ij_java_space_after_closing_angle_bracket_in_type_argument = false +ij_java_space_after_colon = true +ij_java_space_after_comma = true +ij_java_space_after_comma_in_type_arguments = true +ij_java_space_after_for_semicolon = true +ij_java_space_after_quest = true +ij_java_space_after_type_cast = true +ij_java_space_before_annotation_array_initializer_left_brace = false +ij_java_space_before_annotation_parameter_list = false +ij_java_space_before_array_initializer_left_brace = false +ij_java_space_before_catch_keyword = true +ij_java_space_before_catch_left_brace = true +ij_java_space_before_catch_parentheses = true +ij_java_space_before_class_left_brace = true +ij_java_space_before_colon = true +ij_java_space_before_colon_in_foreach = true +ij_java_space_before_comma = false +ij_java_space_before_do_left_brace = true +ij_java_space_before_else_keyword = true +ij_java_space_before_else_left_brace = true +ij_java_space_before_finally_keyword = true +ij_java_space_before_finally_left_brace = true +ij_java_space_before_for_left_brace = true +ij_java_space_before_for_parentheses = true +ij_java_space_before_for_semicolon = false +ij_java_space_before_if_left_brace = true +ij_java_space_before_if_parentheses = true +ij_java_space_before_method_call_parentheses = false +ij_java_space_before_method_left_brace = true +ij_java_space_before_method_parentheses = false +ij_java_space_before_opening_angle_bracket_in_type_parameter = false +ij_java_space_before_quest = true +ij_java_space_before_switch_left_brace = true +ij_java_space_before_switch_parentheses = true +ij_java_space_before_synchronized_left_brace = true +ij_java_space_before_synchronized_parentheses = true +ij_java_space_before_try_left_brace = true +ij_java_space_before_try_parentheses = true +ij_java_space_before_type_parameter_list = false +ij_java_space_before_while_keyword = true +ij_java_space_before_while_left_brace = true +ij_java_space_before_while_parentheses = true +ij_java_space_inside_one_line_enum_braces = false +ij_java_space_within_empty_array_initializer_braces = false +ij_java_space_within_empty_method_call_parentheses = false +ij_java_space_within_empty_method_parentheses = false +ij_java_spaces_around_additive_operators = true +ij_java_spaces_around_assignment_operators = true +ij_java_spaces_around_bitwise_operators = true +ij_java_spaces_around_equality_operators = true +ij_java_spaces_around_lambda_arrow = true +ij_java_spaces_around_logical_operators = true +ij_java_spaces_around_method_ref_dbl_colon = false +ij_java_spaces_around_multiplicative_operators = true +ij_java_spaces_around_relational_operators = true +ij_java_spaces_around_shift_operators = true +ij_java_spaces_around_type_bounds_in_type_parameters = true +ij_java_spaces_around_unary_operator = false +ij_java_spaces_within_angle_brackets = false +ij_java_spaces_within_annotation_parentheses = false +ij_java_spaces_within_array_initializer_braces = false +ij_java_spaces_within_braces = false +ij_java_spaces_within_brackets = false +ij_java_spaces_within_cast_parentheses = false +ij_java_spaces_within_catch_parentheses = false +ij_java_spaces_within_for_parentheses = false +ij_java_spaces_within_if_parentheses = false +ij_java_spaces_within_method_call_parentheses = false +ij_java_spaces_within_method_parentheses = false +ij_java_spaces_within_parentheses = false +ij_java_spaces_within_record_header = false +ij_java_spaces_within_switch_parentheses = false +ij_java_spaces_within_synchronized_parentheses = false +ij_java_spaces_within_try_parentheses = false +ij_java_spaces_within_while_parentheses = false +ij_java_special_else_if_treatment = true +ij_java_subclass_name_suffix = Impl +ij_java_ternary_operation_signs_on_next_line = false +ij_java_ternary_operation_wrap = off +ij_java_test_name_suffix = Test +ij_java_throws_keyword_wrap = off +ij_java_throws_list_wrap = off +ij_java_use_external_annotations = false +ij_java_use_fq_class_names = false +ij_java_use_relative_indents = false +ij_java_use_single_class_imports = true +ij_java_variable_annotation_wrap = off +ij_java_visibility = public +ij_java_while_brace_force = never +ij_java_while_on_new_line = false +ij_java_wrap_comments = false +ij_java_wrap_first_method_in_call_chain = false +ij_java_wrap_long_lines = false + +[*.less] +indent_size = 2 +ij_less_align_closing_brace_with_properties = false +ij_less_blank_lines_around_nested_selector = 1 +ij_less_blank_lines_between_blocks = 1 +ij_less_block_comment_add_space = false +ij_less_brace_placement = 0 +ij_less_enforce_quotes_on_format = false +ij_less_hex_color_long_format = false +ij_less_hex_color_lower_case = false +ij_less_hex_color_short_format = false +ij_less_hex_color_upper_case = false +ij_less_keep_blank_lines_in_code = 2 +ij_less_keep_indents_on_empty_lines = false +ij_less_keep_single_line_blocks = false +ij_less_line_comment_add_space = false +ij_less_line_comment_at_first_column = false +ij_less_properties_order = font,font-family,font-size,font-weight,font-style,font-variant,font-size-adjust,font-stretch,line-height,position,z-index,top,right,bottom,left,display,visibility,float,clear,overflow,overflow-x,overflow-y,clip,zoom,align-content,align-items,align-self,flex,flex-flow,flex-basis,flex-direction,flex-grow,flex-shrink,flex-wrap,justify-content,order,box-sizing,width,min-width,max-width,height,min-height,max-height,margin,margin-top,margin-right,margin-bottom,margin-left,padding,padding-top,padding-right,padding-bottom,padding-left,table-layout,empty-cells,caption-side,border-spacing,border-collapse,list-style,list-style-position,list-style-type,list-style-image,content,quotes,counter-reset,counter-increment,resize,cursor,user-select,nav-index,nav-up,nav-right,nav-down,nav-left,transition,transition-delay,transition-timing-function,transition-duration,transition-property,transform,transform-origin,animation,animation-name,animation-duration,animation-play-state,animation-timing-function,animation-delay,animation-iteration-count,animation-direction,text-align,text-align-last,vertical-align,white-space,text-decoration,text-emphasis,text-emphasis-color,text-emphasis-style,text-emphasis-position,text-indent,text-justify,letter-spacing,word-spacing,text-outline,text-transform,text-wrap,text-overflow,text-overflow-ellipsis,text-overflow-mode,word-wrap,word-break,tab-size,hyphens,pointer-events,opacity,color,border,border-width,border-style,border-color,border-top,border-top-width,border-top-style,border-top-color,border-right,border-right-width,border-right-style,border-right-color,border-bottom,border-bottom-width,border-bottom-style,border-bottom-color,border-left,border-left-width,border-left-style,border-left-color,border-radius,border-top-left-radius,border-top-right-radius,border-bottom-right-radius,border-bottom-left-radius,border-image,border-image-source,border-image-slice,border-image-width,border-image-outset,border-image-repeat,outline,outline-width,outline-style,outline-color,outline-offset,background,background-color,background-image,background-repeat,background-attachment,background-position,background-position-x,background-position-y,background-clip,background-origin,background-size,box-decoration-break,box-shadow,text-shadow +ij_less_space_after_colon = true +ij_less_space_before_opening_brace = true +ij_less_use_double_quotes = true +ij_less_value_alignment = 0 + +[*.proto] +indent_size = 2 +tab_width = 2 +ij_continuation_indent_size = 4 +ij_protobuf_keep_blank_lines_in_code = 2 +ij_protobuf_keep_indents_on_empty_lines = false +ij_protobuf_keep_line_breaks = true +ij_protobuf_space_after_comma = true +ij_protobuf_space_before_comma = false +ij_protobuf_spaces_around_assignment_operators = true +ij_protobuf_spaces_within_braces = false +ij_protobuf_spaces_within_brackets = false + +[*.sass] +indent_size = 2 +ij_sass_align_closing_brace_with_properties = false +ij_sass_blank_lines_around_nested_selector = 1 +ij_sass_blank_lines_between_blocks = 1 +ij_sass_brace_placement = 0 +ij_sass_enforce_quotes_on_format = false +ij_sass_hex_color_long_format = false +ij_sass_hex_color_lower_case = false +ij_sass_hex_color_short_format = false +ij_sass_hex_color_upper_case = false +ij_sass_keep_blank_lines_in_code = 2 +ij_sass_keep_indents_on_empty_lines = false +ij_sass_keep_single_line_blocks = false +ij_sass_line_comment_add_space = false +ij_sass_line_comment_at_first_column = false +ij_sass_properties_order = font,font-family,font-size,font-weight,font-style,font-variant,font-size-adjust,font-stretch,line-height,position,z-index,top,right,bottom,left,display,visibility,float,clear,overflow,overflow-x,overflow-y,clip,zoom,align-content,align-items,align-self,flex,flex-flow,flex-basis,flex-direction,flex-grow,flex-shrink,flex-wrap,justify-content,order,box-sizing,width,min-width,max-width,height,min-height,max-height,margin,margin-top,margin-right,margin-bottom,margin-left,padding,padding-top,padding-right,padding-bottom,padding-left,table-layout,empty-cells,caption-side,border-spacing,border-collapse,list-style,list-style-position,list-style-type,list-style-image,content,quotes,counter-reset,counter-increment,resize,cursor,user-select,nav-index,nav-up,nav-right,nav-down,nav-left,transition,transition-delay,transition-timing-function,transition-duration,transition-property,transform,transform-origin,animation,animation-name,animation-duration,animation-play-state,animation-timing-function,animation-delay,animation-iteration-count,animation-direction,text-align,text-align-last,vertical-align,white-space,text-decoration,text-emphasis,text-emphasis-color,text-emphasis-style,text-emphasis-position,text-indent,text-justify,letter-spacing,word-spacing,text-outline,text-transform,text-wrap,text-overflow,text-overflow-ellipsis,text-overflow-mode,word-wrap,word-break,tab-size,hyphens,pointer-events,opacity,color,border,border-width,border-style,border-color,border-top,border-top-width,border-top-style,border-top-color,border-right,border-right-width,border-right-style,border-right-color,border-bottom,border-bottom-width,border-bottom-style,border-bottom-color,border-left,border-left-width,border-left-style,border-left-color,border-radius,border-top-left-radius,border-top-right-radius,border-bottom-right-radius,border-bottom-left-radius,border-image,border-image-source,border-image-slice,border-image-width,border-image-outset,border-image-repeat,outline,outline-width,outline-style,outline-color,outline-offset,background,background-color,background-image,background-repeat,background-attachment,background-position,background-position-x,background-position-y,background-clip,background-origin,background-size,box-decoration-break,box-shadow,text-shadow +ij_sass_space_after_colon = true +ij_sass_space_before_opening_brace = true +ij_sass_use_double_quotes = true +ij_sass_value_alignment = 0 + +[*.scss] +indent_size = 2 +ij_scss_align_closing_brace_with_properties = false +ij_scss_blank_lines_around_nested_selector = 1 +ij_scss_blank_lines_between_blocks = 1 +ij_scss_block_comment_add_space = false +ij_scss_brace_placement = 0 +ij_scss_enforce_quotes_on_format = false +ij_scss_hex_color_long_format = false +ij_scss_hex_color_lower_case = false +ij_scss_hex_color_short_format = false +ij_scss_hex_color_upper_case = false +ij_scss_keep_blank_lines_in_code = 2 +ij_scss_keep_indents_on_empty_lines = false +ij_scss_keep_single_line_blocks = false +ij_scss_line_comment_add_space = false +ij_scss_line_comment_at_first_column = false +ij_scss_properties_order = font,font-family,font-size,font-weight,font-style,font-variant,font-size-adjust,font-stretch,line-height,position,z-index,top,right,bottom,left,display,visibility,float,clear,overflow,overflow-x,overflow-y,clip,zoom,align-content,align-items,align-self,flex,flex-flow,flex-basis,flex-direction,flex-grow,flex-shrink,flex-wrap,justify-content,order,box-sizing,width,min-width,max-width,height,min-height,max-height,margin,margin-top,margin-right,margin-bottom,margin-left,padding,padding-top,padding-right,padding-bottom,padding-left,table-layout,empty-cells,caption-side,border-spacing,border-collapse,list-style,list-style-position,list-style-type,list-style-image,content,quotes,counter-reset,counter-increment,resize,cursor,user-select,nav-index,nav-up,nav-right,nav-down,nav-left,transition,transition-delay,transition-timing-function,transition-duration,transition-property,transform,transform-origin,animation,animation-name,animation-duration,animation-play-state,animation-timing-function,animation-delay,animation-iteration-count,animation-direction,text-align,text-align-last,vertical-align,white-space,text-decoration,text-emphasis,text-emphasis-color,text-emphasis-style,text-emphasis-position,text-indent,text-justify,letter-spacing,word-spacing,text-outline,text-transform,text-wrap,text-overflow,text-overflow-ellipsis,text-overflow-mode,word-wrap,word-break,tab-size,hyphens,pointer-events,opacity,color,border,border-width,border-style,border-color,border-top,border-top-width,border-top-style,border-top-color,border-right,border-right-width,border-right-style,border-right-color,border-bottom,border-bottom-width,border-bottom-style,border-bottom-color,border-left,border-left-width,border-left-style,border-left-color,border-radius,border-top-left-radius,border-top-right-radius,border-bottom-right-radius,border-bottom-left-radius,border-image,border-image-source,border-image-slice,border-image-width,border-image-outset,border-image-repeat,outline,outline-width,outline-style,outline-color,outline-offset,background,background-color,background-image,background-repeat,background-attachment,background-position,background-position-x,background-position-y,background-clip,background-origin,background-size,box-decoration-break,box-shadow,text-shadow +ij_scss_space_after_colon = true +ij_scss_space_before_opening_brace = true +ij_scss_use_double_quotes = true +ij_scss_value_alignment = 0 + +[*.styl] +indent_size = 2 +ij_stylus_align_closing_brace_with_properties = false +ij_stylus_blank_lines_around_nested_selector = 1 +ij_stylus_blank_lines_between_blocks = 1 +ij_stylus_brace_placement = 0 +ij_stylus_enforce_quotes_on_format = false +ij_stylus_hex_color_long_format = false +ij_stylus_hex_color_lower_case = false +ij_stylus_hex_color_short_format = false +ij_stylus_hex_color_upper_case = false +ij_stylus_keep_blank_lines_in_code = 2 +ij_stylus_keep_indents_on_empty_lines = false +ij_stylus_keep_single_line_blocks = false +ij_stylus_properties_order = font,font-family,font-size,font-weight,font-style,font-variant,font-size-adjust,font-stretch,line-height,position,z-index,top,right,bottom,left,display,visibility,float,clear,overflow,overflow-x,overflow-y,clip,zoom,align-content,align-items,align-self,flex,flex-flow,flex-basis,flex-direction,flex-grow,flex-shrink,flex-wrap,justify-content,order,box-sizing,width,min-width,max-width,height,min-height,max-height,margin,margin-top,margin-right,margin-bottom,margin-left,padding,padding-top,padding-right,padding-bottom,padding-left,table-layout,empty-cells,caption-side,border-spacing,border-collapse,list-style,list-style-position,list-style-type,list-style-image,content,quotes,counter-reset,counter-increment,resize,cursor,user-select,nav-index,nav-up,nav-right,nav-down,nav-left,transition,transition-delay,transition-timing-function,transition-duration,transition-property,transform,transform-origin,animation,animation-name,animation-duration,animation-play-state,animation-timing-function,animation-delay,animation-iteration-count,animation-direction,text-align,text-align-last,vertical-align,white-space,text-decoration,text-emphasis,text-emphasis-color,text-emphasis-style,text-emphasis-position,text-indent,text-justify,letter-spacing,word-spacing,text-outline,text-transform,text-wrap,text-overflow,text-overflow-ellipsis,text-overflow-mode,word-wrap,word-break,tab-size,hyphens,pointer-events,opacity,color,border,border-width,border-style,border-color,border-top,border-top-width,border-top-style,border-top-color,border-right,border-right-width,border-right-style,border-right-color,border-bottom,border-bottom-width,border-bottom-style,border-bottom-color,border-left,border-left-width,border-left-style,border-left-color,border-radius,border-top-left-radius,border-top-right-radius,border-bottom-right-radius,border-bottom-left-radius,border-image,border-image-source,border-image-slice,border-image-width,border-image-outset,border-image-repeat,outline,outline-width,outline-style,outline-color,outline-offset,background,background-color,background-image,background-repeat,background-attachment,background-position,background-position-x,background-position-y,background-clip,background-origin,background-size,box-decoration-break,box-shadow,text-shadow +ij_stylus_space_after_colon = true +ij_stylus_space_before_opening_brace = true +ij_stylus_use_double_quotes = true +ij_stylus_value_alignment = 0 + +[.editorconfig] +ij_editorconfig_align_group_field_declarations = false +ij_editorconfig_space_after_colon = false +ij_editorconfig_space_after_comma = true +ij_editorconfig_space_before_colon = false +ij_editorconfig_space_before_comma = false +ij_editorconfig_spaces_around_assignment_operators = true + +[{*.ant,*.fxml,*.jhm,*.jnlp,*.jrxml,*.pom,*.rng,*.tld,*.wadl,*.wsdd,*.wsdl,*.xjb,*.xml,*.xsd,*.xsl,*.xslt,*.xul}] +ij_xml_align_attributes = true +ij_xml_align_text = false +ij_xml_attribute_wrap = normal +ij_xml_block_comment_add_space = false +ij_xml_block_comment_at_first_column = true +ij_xml_keep_blank_lines = 2 +ij_xml_keep_indents_on_empty_lines = false +ij_xml_keep_line_breaks = true +ij_xml_keep_line_breaks_in_text = true +ij_xml_keep_whitespaces = false +ij_xml_keep_whitespaces_around_cdata = preserve +ij_xml_keep_whitespaces_inside_cdata = false +ij_xml_line_comment_at_first_column = true +ij_xml_space_after_tag_name = false +ij_xml_space_around_equals_in_attribute = false +ij_xml_space_inside_empty_tag = false +ij_xml_text_wrap = normal +ij_xml_use_custom_settings = false + +[{*.ats,*.cts,*.mts,*.ts}] +ij_continuation_indent_size = 4 +ij_typescript_align_imports = false +ij_typescript_align_multiline_array_initializer_expression = false +ij_typescript_align_multiline_binary_operation = false +ij_typescript_align_multiline_chained_methods = false +ij_typescript_align_multiline_extends_list = false +ij_typescript_align_multiline_for = true +ij_typescript_align_multiline_parameters = true +ij_typescript_align_multiline_parameters_in_calls = false +ij_typescript_align_multiline_ternary_operation = false +ij_typescript_align_object_properties = 0 +ij_typescript_align_union_types = false +ij_typescript_align_var_statements = 0 +ij_typescript_array_initializer_new_line_after_left_brace = false +ij_typescript_array_initializer_right_brace_on_new_line = false +ij_typescript_array_initializer_wrap = off +ij_typescript_assignment_wrap = off +ij_typescript_binary_operation_sign_on_next_line = false +ij_typescript_binary_operation_wrap = off +ij_typescript_blacklist_imports = rxjs/Rx,node_modules/**,**/node_modules/**,@angular/material,@angular/material/typings/** +ij_typescript_blank_lines_after_imports = 1 +ij_typescript_blank_lines_around_class = 1 +ij_typescript_blank_lines_around_field = 0 +ij_typescript_blank_lines_around_field_in_interface = 0 +ij_typescript_blank_lines_around_function = 1 +ij_typescript_blank_lines_around_method = 1 +ij_typescript_blank_lines_around_method_in_interface = 1 +ij_typescript_block_brace_style = end_of_line +ij_typescript_block_comment_add_space = false +ij_typescript_block_comment_at_first_column = true +ij_typescript_call_parameters_new_line_after_left_paren = false +ij_typescript_call_parameters_right_paren_on_new_line = false +ij_typescript_call_parameters_wrap = off +ij_typescript_catch_on_new_line = false +ij_typescript_chained_call_dot_on_new_line = true +ij_typescript_class_brace_style = end_of_line +ij_typescript_comma_on_new_line = false +ij_typescript_do_while_brace_force = never +ij_typescript_else_on_new_line = false +ij_typescript_enforce_trailing_comma = keep +ij_typescript_enum_constants_wrap = on_every_item +ij_typescript_extends_keyword_wrap = off +ij_typescript_extends_list_wrap = off +ij_typescript_field_prefix = _ +ij_typescript_file_name_style = relaxed +ij_typescript_finally_on_new_line = false +ij_typescript_for_brace_force = never +ij_typescript_for_statement_new_line_after_left_paren = false +ij_typescript_for_statement_right_paren_on_new_line = false +ij_typescript_for_statement_wrap = off +ij_typescript_force_quote_style = false +ij_typescript_force_semicolon_style = false +ij_typescript_function_expression_brace_style = end_of_line +ij_typescript_if_brace_force = never +ij_typescript_import_merge_members = global +ij_typescript_import_prefer_absolute_path = global +ij_typescript_import_sort_members = true +ij_typescript_import_sort_module_name = false +ij_typescript_import_use_node_resolution = true +ij_typescript_imports_wrap = on_every_item +ij_typescript_indent_case_from_switch = true +ij_typescript_indent_chained_calls = true +ij_typescript_indent_package_children = 0 +ij_typescript_jsdoc_include_types = false +ij_typescript_jsx_attribute_value = braces +ij_typescript_keep_blank_lines_in_code = 2 +ij_typescript_keep_first_column_comment = true +ij_typescript_keep_indents_on_empty_lines = false +ij_typescript_keep_line_breaks = true +ij_typescript_keep_simple_blocks_in_one_line = false +ij_typescript_keep_simple_methods_in_one_line = false +ij_typescript_line_comment_add_space = true +ij_typescript_line_comment_at_first_column = false +ij_typescript_method_brace_style = end_of_line +ij_typescript_method_call_chain_wrap = off +ij_typescript_method_parameters_new_line_after_left_paren = false +ij_typescript_method_parameters_right_paren_on_new_line = false +ij_typescript_method_parameters_wrap = off +ij_typescript_object_literal_wrap = on_every_item +ij_typescript_parentheses_expression_new_line_after_left_paren = false +ij_typescript_parentheses_expression_right_paren_on_new_line = false +ij_typescript_place_assignment_sign_on_next_line = false +ij_typescript_prefer_as_type_cast = false +ij_typescript_prefer_explicit_types_function_expression_returns = false +ij_typescript_prefer_explicit_types_function_returns = false +ij_typescript_prefer_explicit_types_vars_fields = false +ij_typescript_prefer_parameters_wrap = false +ij_typescript_reformat_c_style_comments = false +ij_typescript_space_after_colon = true +ij_typescript_space_after_comma = true +ij_typescript_space_after_dots_in_rest_parameter = false +ij_typescript_space_after_generator_mult = true +ij_typescript_space_after_property_colon = true +ij_typescript_space_after_quest = true +ij_typescript_space_after_type_colon = true +ij_typescript_space_after_unary_not = false +ij_typescript_space_before_async_arrow_lparen = true +ij_typescript_space_before_catch_keyword = true +ij_typescript_space_before_catch_left_brace = true +ij_typescript_space_before_catch_parentheses = true +ij_typescript_space_before_class_lbrace = true +ij_typescript_space_before_class_left_brace = true +ij_typescript_space_before_colon = true +ij_typescript_space_before_comma = false +ij_typescript_space_before_do_left_brace = true +ij_typescript_space_before_else_keyword = true +ij_typescript_space_before_else_left_brace = true +ij_typescript_space_before_finally_keyword = true +ij_typescript_space_before_finally_left_brace = true +ij_typescript_space_before_for_left_brace = true +ij_typescript_space_before_for_parentheses = true +ij_typescript_space_before_for_semicolon = false +ij_typescript_space_before_function_left_parenth = true +ij_typescript_space_before_generator_mult = false +ij_typescript_space_before_if_left_brace = true +ij_typescript_space_before_if_parentheses = true +ij_typescript_space_before_method_call_parentheses = false +ij_typescript_space_before_method_left_brace = true +ij_typescript_space_before_method_parentheses = false +ij_typescript_space_before_property_colon = false +ij_typescript_space_before_quest = true +ij_typescript_space_before_switch_left_brace = true +ij_typescript_space_before_switch_parentheses = true +ij_typescript_space_before_try_left_brace = true +ij_typescript_space_before_type_colon = false +ij_typescript_space_before_unary_not = false +ij_typescript_space_before_while_keyword = true +ij_typescript_space_before_while_left_brace = true +ij_typescript_space_before_while_parentheses = true +ij_typescript_spaces_around_additive_operators = true +ij_typescript_spaces_around_arrow_function_operator = true +ij_typescript_spaces_around_assignment_operators = true +ij_typescript_spaces_around_bitwise_operators = true +ij_typescript_spaces_around_equality_operators = true +ij_typescript_spaces_around_logical_operators = true +ij_typescript_spaces_around_multiplicative_operators = true +ij_typescript_spaces_around_relational_operators = true +ij_typescript_spaces_around_shift_operators = true +ij_typescript_spaces_around_unary_operator = false +ij_typescript_spaces_within_array_initializer_brackets = false +ij_typescript_spaces_within_brackets = false +ij_typescript_spaces_within_catch_parentheses = false +ij_typescript_spaces_within_for_parentheses = false +ij_typescript_spaces_within_if_parentheses = false +ij_typescript_spaces_within_imports = false +ij_typescript_spaces_within_interpolation_expressions = false +ij_typescript_spaces_within_method_call_parentheses = false +ij_typescript_spaces_within_method_parentheses = false +ij_typescript_spaces_within_object_literal_braces = false +ij_typescript_spaces_within_object_type_braces = true +ij_typescript_spaces_within_parentheses = false +ij_typescript_spaces_within_switch_parentheses = false +ij_typescript_spaces_within_type_assertion = false +ij_typescript_spaces_within_union_types = true +ij_typescript_spaces_within_while_parentheses = false +ij_typescript_special_else_if_treatment = true +ij_typescript_ternary_operation_signs_on_next_line = false +ij_typescript_ternary_operation_wrap = off +ij_typescript_union_types_wrap = on_every_item +ij_typescript_use_chained_calls_group_indents = false +ij_typescript_use_double_quotes = true +ij_typescript_use_explicit_js_extension = auto +ij_typescript_use_path_mapping = always +ij_typescript_use_public_modifier = false +ij_typescript_use_semicolon_after_statement = true +ij_typescript_var_declaration_wrap = normal +ij_typescript_while_brace_force = never +ij_typescript_while_on_new_line = false +ij_typescript_wrap_comments = false + +[{*.bash,*.sh,*.zsh}] +indent_size = 2 +tab_width = 2 +ij_shell_binary_ops_start_line = false +ij_shell_keep_column_alignment_padding = false +ij_shell_minify_program = false +ij_shell_redirect_followed_by_space = false +ij_shell_switch_cases_indented = false +ij_shell_use_unix_line_separator = true + +[{*.cjs,*.js}] +ij_continuation_indent_size = 4 +ij_javascript_align_imports = false +ij_javascript_align_multiline_array_initializer_expression = false +ij_javascript_align_multiline_binary_operation = false +ij_javascript_align_multiline_chained_methods = false +ij_javascript_align_multiline_extends_list = false +ij_javascript_align_multiline_for = true +ij_javascript_align_multiline_parameters = true +ij_javascript_align_multiline_parameters_in_calls = false +ij_javascript_align_multiline_ternary_operation = false +ij_javascript_align_object_properties = 0 +ij_javascript_align_union_types = false +ij_javascript_align_var_statements = 0 +ij_javascript_array_initializer_new_line_after_left_brace = false +ij_javascript_array_initializer_right_brace_on_new_line = false +ij_javascript_array_initializer_wrap = off +ij_javascript_assignment_wrap = off +ij_javascript_binary_operation_sign_on_next_line = false +ij_javascript_binary_operation_wrap = off +ij_javascript_blacklist_imports = rxjs/Rx,node_modules/**,**/node_modules/**,@angular/material,@angular/material/typings/** +ij_javascript_blank_lines_after_imports = 1 +ij_javascript_blank_lines_around_class = 1 +ij_javascript_blank_lines_around_field = 0 +ij_javascript_blank_lines_around_function = 1 +ij_javascript_blank_lines_around_method = 1 +ij_javascript_block_brace_style = end_of_line +ij_javascript_block_comment_add_space = false +ij_javascript_block_comment_at_first_column = true +ij_javascript_call_parameters_new_line_after_left_paren = false +ij_javascript_call_parameters_right_paren_on_new_line = false +ij_javascript_call_parameters_wrap = off +ij_javascript_catch_on_new_line = false +ij_javascript_chained_call_dot_on_new_line = true +ij_javascript_class_brace_style = end_of_line +ij_javascript_comma_on_new_line = false +ij_javascript_do_while_brace_force = never +ij_javascript_else_on_new_line = false +ij_javascript_enforce_trailing_comma = keep +ij_javascript_extends_keyword_wrap = off +ij_javascript_extends_list_wrap = off +ij_javascript_field_prefix = _ +ij_javascript_file_name_style = relaxed +ij_javascript_finally_on_new_line = false +ij_javascript_for_brace_force = never +ij_javascript_for_statement_new_line_after_left_paren = false +ij_javascript_for_statement_right_paren_on_new_line = false +ij_javascript_for_statement_wrap = off +ij_javascript_force_quote_style = false +ij_javascript_force_semicolon_style = false +ij_javascript_function_expression_brace_style = end_of_line +ij_javascript_if_brace_force = never +ij_javascript_import_merge_members = global +ij_javascript_import_prefer_absolute_path = global +ij_javascript_import_sort_members = true +ij_javascript_import_sort_module_name = false +ij_javascript_import_use_node_resolution = true +ij_javascript_imports_wrap = on_every_item +ij_javascript_indent_case_from_switch = true +ij_javascript_indent_chained_calls = true +ij_javascript_indent_package_children = 0 +ij_javascript_jsx_attribute_value = braces +ij_javascript_keep_blank_lines_in_code = 2 +ij_javascript_keep_first_column_comment = true +ij_javascript_keep_indents_on_empty_lines = false +ij_javascript_keep_line_breaks = true +ij_javascript_keep_simple_blocks_in_one_line = false +ij_javascript_keep_simple_methods_in_one_line = false +ij_javascript_line_comment_add_space = true +ij_javascript_line_comment_at_first_column = false +ij_javascript_method_brace_style = end_of_line +ij_javascript_method_call_chain_wrap = off +ij_javascript_method_parameters_new_line_after_left_paren = false +ij_javascript_method_parameters_right_paren_on_new_line = false +ij_javascript_method_parameters_wrap = off +ij_javascript_object_literal_wrap = on_every_item +ij_javascript_parentheses_expression_new_line_after_left_paren = false +ij_javascript_parentheses_expression_right_paren_on_new_line = false +ij_javascript_place_assignment_sign_on_next_line = false +ij_javascript_prefer_as_type_cast = false +ij_javascript_prefer_explicit_types_function_expression_returns = false +ij_javascript_prefer_explicit_types_function_returns = false +ij_javascript_prefer_explicit_types_vars_fields = false +ij_javascript_prefer_parameters_wrap = false +ij_javascript_reformat_c_style_comments = false +ij_javascript_space_after_colon = true +ij_javascript_space_after_comma = true +ij_javascript_space_after_dots_in_rest_parameter = false +ij_javascript_space_after_generator_mult = true +ij_javascript_space_after_property_colon = true +ij_javascript_space_after_quest = true +ij_javascript_space_after_type_colon = true +ij_javascript_space_after_unary_not = false +ij_javascript_space_before_async_arrow_lparen = true +ij_javascript_space_before_catch_keyword = true +ij_javascript_space_before_catch_left_brace = true +ij_javascript_space_before_catch_parentheses = true +ij_javascript_space_before_class_lbrace = true +ij_javascript_space_before_class_left_brace = true +ij_javascript_space_before_colon = true +ij_javascript_space_before_comma = false +ij_javascript_space_before_do_left_brace = true +ij_javascript_space_before_else_keyword = true +ij_javascript_space_before_else_left_brace = true +ij_javascript_space_before_finally_keyword = true +ij_javascript_space_before_finally_left_brace = true +ij_javascript_space_before_for_left_brace = true +ij_javascript_space_before_for_parentheses = true +ij_javascript_space_before_for_semicolon = false +ij_javascript_space_before_function_left_parenth = true +ij_javascript_space_before_generator_mult = false +ij_javascript_space_before_if_left_brace = true +ij_javascript_space_before_if_parentheses = true +ij_javascript_space_before_method_call_parentheses = false +ij_javascript_space_before_method_left_brace = true +ij_javascript_space_before_method_parentheses = false +ij_javascript_space_before_property_colon = false +ij_javascript_space_before_quest = true +ij_javascript_space_before_switch_left_brace = true +ij_javascript_space_before_switch_parentheses = true +ij_javascript_space_before_try_left_brace = true +ij_javascript_space_before_type_colon = false +ij_javascript_space_before_unary_not = false +ij_javascript_space_before_while_keyword = true +ij_javascript_space_before_while_left_brace = true +ij_javascript_space_before_while_parentheses = true +ij_javascript_spaces_around_additive_operators = true +ij_javascript_spaces_around_arrow_function_operator = true +ij_javascript_spaces_around_assignment_operators = true +ij_javascript_spaces_around_bitwise_operators = true +ij_javascript_spaces_around_equality_operators = true +ij_javascript_spaces_around_logical_operators = true +ij_javascript_spaces_around_multiplicative_operators = true +ij_javascript_spaces_around_relational_operators = true +ij_javascript_spaces_around_shift_operators = true +ij_javascript_spaces_around_unary_operator = false +ij_javascript_spaces_within_array_initializer_brackets = false +ij_javascript_spaces_within_brackets = false +ij_javascript_spaces_within_catch_parentheses = false +ij_javascript_spaces_within_for_parentheses = false +ij_javascript_spaces_within_if_parentheses = false +ij_javascript_spaces_within_imports = false +ij_javascript_spaces_within_interpolation_expressions = false +ij_javascript_spaces_within_method_call_parentheses = false +ij_javascript_spaces_within_method_parentheses = false +ij_javascript_spaces_within_object_literal_braces = false +ij_javascript_spaces_within_object_type_braces = true +ij_javascript_spaces_within_parentheses = false +ij_javascript_spaces_within_switch_parentheses = false +ij_javascript_spaces_within_type_assertion = false +ij_javascript_spaces_within_union_types = true +ij_javascript_spaces_within_while_parentheses = false +ij_javascript_special_else_if_treatment = true +ij_javascript_ternary_operation_signs_on_next_line = false +ij_javascript_ternary_operation_wrap = off +ij_javascript_union_types_wrap = on_every_item +ij_javascript_use_chained_calls_group_indents = false +ij_javascript_use_double_quotes = true +ij_javascript_use_explicit_js_extension = auto +ij_javascript_use_path_mapping = always +ij_javascript_use_public_modifier = false +ij_javascript_use_semicolon_after_statement = true +ij_javascript_var_declaration_wrap = normal +ij_javascript_while_brace_force = never +ij_javascript_while_on_new_line = false +ij_javascript_wrap_comments = false + +[{*.ft,*.vm,*.vsl}] +ij_vtl_keep_indents_on_empty_lines = false + +[{*.gant,*.groovy,*.gson,*.gy}] +ij_groovy_align_group_field_declarations = false +ij_groovy_align_multiline_array_initializer_expression = false +ij_groovy_align_multiline_assignment = false +ij_groovy_align_multiline_binary_operation = false +ij_groovy_align_multiline_chained_methods = false +ij_groovy_align_multiline_extends_list = false +ij_groovy_align_multiline_for = true +ij_groovy_align_multiline_list_or_map = true +ij_groovy_align_multiline_method_parentheses = false +ij_groovy_align_multiline_parameters = true +ij_groovy_align_multiline_parameters_in_calls = false +ij_groovy_align_multiline_resources = true +ij_groovy_align_multiline_ternary_operation = false +ij_groovy_align_multiline_throws_list = false +ij_groovy_align_named_args_in_map = true +ij_groovy_align_throws_keyword = false +ij_groovy_array_initializer_new_line_after_left_brace = false +ij_groovy_array_initializer_right_brace_on_new_line = false +ij_groovy_array_initializer_wrap = off +ij_groovy_assert_statement_wrap = off +ij_groovy_assignment_wrap = off +ij_groovy_binary_operation_wrap = off +ij_groovy_blank_lines_after_class_header = 0 +ij_groovy_blank_lines_after_imports = 1 +ij_groovy_blank_lines_after_package = 1 +ij_groovy_blank_lines_around_class = 1 +ij_groovy_blank_lines_around_field = 0 +ij_groovy_blank_lines_around_field_in_interface = 0 +ij_groovy_blank_lines_around_method = 1 +ij_groovy_blank_lines_around_method_in_interface = 1 +ij_groovy_blank_lines_before_imports = 1 +ij_groovy_blank_lines_before_method_body = 0 +ij_groovy_blank_lines_before_package = 0 +ij_groovy_block_brace_style = end_of_line +ij_groovy_block_comment_add_space = false +ij_groovy_block_comment_at_first_column = true +ij_groovy_call_parameters_new_line_after_left_paren = false +ij_groovy_call_parameters_right_paren_on_new_line = false +ij_groovy_call_parameters_wrap = off +ij_groovy_catch_on_new_line = false +ij_groovy_class_annotation_wrap = split_into_lines +ij_groovy_class_brace_style = end_of_line +ij_groovy_class_count_to_use_import_on_demand = 5 +ij_groovy_do_while_brace_force = never +ij_groovy_else_on_new_line = false +ij_groovy_enum_constants_wrap = off +ij_groovy_extends_keyword_wrap = off +ij_groovy_extends_list_wrap = off +ij_groovy_field_annotation_wrap = split_into_lines +ij_groovy_finally_on_new_line = false +ij_groovy_for_brace_force = never +ij_groovy_for_statement_new_line_after_left_paren = false +ij_groovy_for_statement_right_paren_on_new_line = false +ij_groovy_for_statement_wrap = off +ij_groovy_if_brace_force = never +ij_groovy_import_annotation_wrap = 2 +ij_groovy_imports_layout = *,|,javax.**,java.**,|,$* +ij_groovy_indent_case_from_switch = true +ij_groovy_indent_label_blocks = true +ij_groovy_insert_inner_class_imports = false +ij_groovy_keep_blank_lines_before_right_brace = 2 +ij_groovy_keep_blank_lines_in_code = 2 +ij_groovy_keep_blank_lines_in_declarations = 2 +ij_groovy_keep_control_statement_in_one_line = true +ij_groovy_keep_first_column_comment = true +ij_groovy_keep_indents_on_empty_lines = false +ij_groovy_keep_line_breaks = true +ij_groovy_keep_multiple_expressions_in_one_line = false +ij_groovy_keep_simple_blocks_in_one_line = false +ij_groovy_keep_simple_classes_in_one_line = true +ij_groovy_keep_simple_lambdas_in_one_line = true +ij_groovy_keep_simple_methods_in_one_line = true +ij_groovy_label_indent_absolute = false +ij_groovy_label_indent_size = 0 +ij_groovy_lambda_brace_style = end_of_line +ij_groovy_layout_static_imports_separately = true +ij_groovy_line_comment_add_space = false +ij_groovy_line_comment_at_first_column = true +ij_groovy_method_annotation_wrap = split_into_lines +ij_groovy_method_brace_style = end_of_line +ij_groovy_method_call_chain_wrap = off +ij_groovy_method_parameters_new_line_after_left_paren = false +ij_groovy_method_parameters_right_paren_on_new_line = false +ij_groovy_method_parameters_wrap = off +ij_groovy_modifier_list_wrap = false +ij_groovy_names_count_to_use_import_on_demand = 3 +ij_groovy_packages_to_use_import_on_demand = java.awt.*,javax.swing.* +ij_groovy_parameter_annotation_wrap = off +ij_groovy_parentheses_expression_new_line_after_left_paren = false +ij_groovy_parentheses_expression_right_paren_on_new_line = false +ij_groovy_prefer_parameters_wrap = false +ij_groovy_resource_list_new_line_after_left_paren = false +ij_groovy_resource_list_right_paren_on_new_line = false +ij_groovy_resource_list_wrap = off +ij_groovy_space_after_assert_separator = true +ij_groovy_space_after_colon = true +ij_groovy_space_after_comma = true +ij_groovy_space_after_comma_in_type_arguments = true +ij_groovy_space_after_for_semicolon = true +ij_groovy_space_after_quest = true +ij_groovy_space_after_type_cast = true +ij_groovy_space_before_annotation_parameter_list = false +ij_groovy_space_before_array_initializer_left_brace = false +ij_groovy_space_before_assert_separator = false +ij_groovy_space_before_catch_keyword = true +ij_groovy_space_before_catch_left_brace = true +ij_groovy_space_before_catch_parentheses = true +ij_groovy_space_before_class_left_brace = true +ij_groovy_space_before_closure_left_brace = true +ij_groovy_space_before_colon = true +ij_groovy_space_before_comma = false +ij_groovy_space_before_do_left_brace = true +ij_groovy_space_before_else_keyword = true +ij_groovy_space_before_else_left_brace = true +ij_groovy_space_before_finally_keyword = true +ij_groovy_space_before_finally_left_brace = true +ij_groovy_space_before_for_left_brace = true +ij_groovy_space_before_for_parentheses = true +ij_groovy_space_before_for_semicolon = false +ij_groovy_space_before_if_left_brace = true +ij_groovy_space_before_if_parentheses = true +ij_groovy_space_before_method_call_parentheses = false +ij_groovy_space_before_method_left_brace = true +ij_groovy_space_before_method_parentheses = false +ij_groovy_space_before_quest = true +ij_groovy_space_before_record_parentheses = false +ij_groovy_space_before_switch_left_brace = true +ij_groovy_space_before_switch_parentheses = true +ij_groovy_space_before_synchronized_left_brace = true +ij_groovy_space_before_synchronized_parentheses = true +ij_groovy_space_before_try_left_brace = true +ij_groovy_space_before_try_parentheses = true +ij_groovy_space_before_while_keyword = true +ij_groovy_space_before_while_left_brace = true +ij_groovy_space_before_while_parentheses = true +ij_groovy_space_in_named_argument = true +ij_groovy_space_in_named_argument_before_colon = false +ij_groovy_space_within_empty_array_initializer_braces = false +ij_groovy_space_within_empty_method_call_parentheses = false +ij_groovy_spaces_around_additive_operators = true +ij_groovy_spaces_around_assignment_operators = true +ij_groovy_spaces_around_bitwise_operators = true +ij_groovy_spaces_around_equality_operators = true +ij_groovy_spaces_around_lambda_arrow = true +ij_groovy_spaces_around_logical_operators = true +ij_groovy_spaces_around_multiplicative_operators = true +ij_groovy_spaces_around_regex_operators = true +ij_groovy_spaces_around_relational_operators = true +ij_groovy_spaces_around_shift_operators = true +ij_groovy_spaces_within_annotation_parentheses = false +ij_groovy_spaces_within_array_initializer_braces = false +ij_groovy_spaces_within_braces = true +ij_groovy_spaces_within_brackets = false +ij_groovy_spaces_within_cast_parentheses = false +ij_groovy_spaces_within_catch_parentheses = false +ij_groovy_spaces_within_for_parentheses = false +ij_groovy_spaces_within_gstring_injection_braces = false +ij_groovy_spaces_within_if_parentheses = false +ij_groovy_spaces_within_list_or_map = false +ij_groovy_spaces_within_method_call_parentheses = false +ij_groovy_spaces_within_method_parentheses = false +ij_groovy_spaces_within_parentheses = false +ij_groovy_spaces_within_switch_parentheses = false +ij_groovy_spaces_within_synchronized_parentheses = false +ij_groovy_spaces_within_try_parentheses = false +ij_groovy_spaces_within_tuple_expression = false +ij_groovy_spaces_within_while_parentheses = false +ij_groovy_special_else_if_treatment = true +ij_groovy_ternary_operation_wrap = off +ij_groovy_throws_keyword_wrap = off +ij_groovy_throws_list_wrap = off +ij_groovy_use_flying_geese_braces = false +ij_groovy_use_fq_class_names = false +ij_groovy_use_fq_class_names_in_javadoc = true +ij_groovy_use_relative_indents = false +ij_groovy_use_single_class_imports = true +ij_groovy_variable_annotation_wrap = off +ij_groovy_while_brace_force = never +ij_groovy_while_on_new_line = false +ij_groovy_wrap_chain_calls_after_dot = false +ij_groovy_wrap_long_lines = false + +[{*.har,*.jsb2,*.jsb3,*.json,.babelrc,.eslintrc,.stylelintrc,bowerrc,jest.config}] +indent_size = 2 +ij_json_keep_blank_lines_in_code = 0 +ij_json_keep_indents_on_empty_lines = false +ij_json_keep_line_breaks = true +ij_json_space_after_colon = true +ij_json_space_after_comma = true +ij_json_space_before_colon = true +ij_json_space_before_comma = false +ij_json_spaces_within_braces = false +ij_json_spaces_within_brackets = false +ij_json_wrap_long_lines = false + +[{*.htm,*.html,*.ng,*.sht,*.shtm,*.shtml}] +ij_html_add_new_line_before_tags = body,div,p,form,h1,h2,h3 +ij_html_align_attributes = true +ij_html_align_text = false +ij_html_attribute_wrap = normal +ij_html_block_comment_add_space = false +ij_html_block_comment_at_first_column = true +ij_html_do_not_align_children_of_min_lines = 0 +ij_html_do_not_break_if_inline_tags = title,h1,h2,h3,h4,h5,h6,p +ij_html_do_not_indent_children_of_tags = html,body,thead,tbody,tfoot +ij_html_enforce_quotes = false +ij_html_inline_tags = a,abbr,acronym,b,basefont,bdo,big,br,cite,cite,code,dfn,em,font,i,img,input,kbd,label,q,s,samp,select,small,span,strike,strong,sub,sup,textarea,tt,u,var +ij_html_keep_blank_lines = 2 +ij_html_keep_indents_on_empty_lines = false +ij_html_keep_line_breaks = true +ij_html_keep_line_breaks_in_text = true +ij_html_keep_whitespaces = false +ij_html_keep_whitespaces_inside = span,pre,textarea +ij_html_line_comment_at_first_column = true +ij_html_new_line_after_last_attribute = never +ij_html_new_line_before_first_attribute = never +ij_html_quote_style = double +ij_html_remove_new_line_before_tags = br +ij_html_space_after_tag_name = false +ij_html_space_around_equality_in_attribute = false +ij_html_space_inside_empty_tag = false +ij_html_text_wrap = normal + +[{*.jsf,*.jsp,*.jspf,*.tag,*.tagf,*.xjsp}] +ij_jsp_jsp_prefer_comma_separated_import_list = false +ij_jsp_keep_indents_on_empty_lines = false + +[{*.jspx,*.tagx}] +ij_jspx_keep_indents_on_empty_lines = false + +[{*.kt,*.kts}] +ij_kotlin_align_in_columns_case_branch = false +ij_kotlin_align_multiline_binary_operation = false +ij_kotlin_align_multiline_extends_list = false +ij_kotlin_align_multiline_method_parentheses = false +ij_kotlin_align_multiline_parameters = true +ij_kotlin_align_multiline_parameters_in_calls = false +ij_kotlin_allow_trailing_comma = false +ij_kotlin_allow_trailing_comma_on_call_site = false +ij_kotlin_assignment_wrap = off +ij_kotlin_blank_lines_after_class_header = 0 +ij_kotlin_blank_lines_around_block_when_branches = 0 +ij_kotlin_blank_lines_before_declaration_with_comment_or_annotation_on_separate_line = 1 +ij_kotlin_block_comment_add_space = false +ij_kotlin_block_comment_at_first_column = true +ij_kotlin_call_parameters_new_line_after_left_paren = false +ij_kotlin_call_parameters_right_paren_on_new_line = false +ij_kotlin_call_parameters_wrap = off +ij_kotlin_catch_on_new_line = false +ij_kotlin_class_annotation_wrap = split_into_lines +ij_kotlin_continuation_indent_for_chained_calls = true +ij_kotlin_continuation_indent_for_expression_bodies = true +ij_kotlin_continuation_indent_in_argument_lists = true +ij_kotlin_continuation_indent_in_elvis = true +ij_kotlin_continuation_indent_in_if_conditions = true +ij_kotlin_continuation_indent_in_parameter_lists = true +ij_kotlin_continuation_indent_in_supertype_lists = true +ij_kotlin_else_on_new_line = false +ij_kotlin_enum_constants_wrap = off +ij_kotlin_extends_list_wrap = off +ij_kotlin_field_annotation_wrap = split_into_lines +ij_kotlin_finally_on_new_line = false +ij_kotlin_if_rparen_on_new_line = false +ij_kotlin_import_nested_classes = false +ij_kotlin_imports_layout = *,java.**,javax.**,kotlin.**,^ +ij_kotlin_insert_whitespaces_in_simple_one_line_method = true +ij_kotlin_keep_blank_lines_before_right_brace = 2 +ij_kotlin_keep_blank_lines_in_code = 2 +ij_kotlin_keep_blank_lines_in_declarations = 2 +ij_kotlin_keep_first_column_comment = true +ij_kotlin_keep_indents_on_empty_lines = false +ij_kotlin_keep_line_breaks = true +ij_kotlin_lbrace_on_next_line = false +ij_kotlin_line_comment_add_space = false +ij_kotlin_line_comment_at_first_column = true +ij_kotlin_method_annotation_wrap = split_into_lines +ij_kotlin_method_call_chain_wrap = off +ij_kotlin_method_parameters_new_line_after_left_paren = false +ij_kotlin_method_parameters_right_paren_on_new_line = false +ij_kotlin_method_parameters_wrap = off +ij_kotlin_name_count_to_use_star_import = 5 +ij_kotlin_name_count_to_use_star_import_for_members = 3 +ij_kotlin_packages_to_use_import_on_demand = java.util.*,kotlinx.android.synthetic.**,io.ktor.** +ij_kotlin_parameter_annotation_wrap = off +ij_kotlin_space_after_comma = true +ij_kotlin_space_after_extend_colon = true +ij_kotlin_space_after_type_colon = true +ij_kotlin_space_before_catch_parentheses = true +ij_kotlin_space_before_comma = false +ij_kotlin_space_before_extend_colon = true +ij_kotlin_space_before_for_parentheses = true +ij_kotlin_space_before_if_parentheses = true +ij_kotlin_space_before_lambda_arrow = true +ij_kotlin_space_before_type_colon = false +ij_kotlin_space_before_when_parentheses = true +ij_kotlin_space_before_while_parentheses = true +ij_kotlin_spaces_around_additive_operators = true +ij_kotlin_spaces_around_assignment_operators = true +ij_kotlin_spaces_around_equality_operators = true +ij_kotlin_spaces_around_function_type_arrow = true +ij_kotlin_spaces_around_logical_operators = true +ij_kotlin_spaces_around_multiplicative_operators = true +ij_kotlin_spaces_around_range = false +ij_kotlin_spaces_around_relational_operators = true +ij_kotlin_spaces_around_unary_operator = false +ij_kotlin_spaces_around_when_arrow = true +ij_kotlin_variable_annotation_wrap = off +ij_kotlin_while_on_new_line = false +ij_kotlin_wrap_elvis_expressions = 1 +ij_kotlin_wrap_expression_body_functions = 0 +ij_kotlin_wrap_first_method_in_call_chain = false + +[{*.markdown,*.md}] +ij_markdown_force_one_space_after_blockquote_symbol = true +ij_markdown_force_one_space_after_header_symbol = true +ij_markdown_force_one_space_after_list_bullet = true +ij_markdown_force_one_space_between_words = true +ij_markdown_keep_indents_on_empty_lines = false +ij_markdown_max_lines_around_block_elements = 1 +ij_markdown_max_lines_around_header = 1 +ij_markdown_max_lines_between_paragraphs = 1 +ij_markdown_min_lines_around_block_elements = 1 +ij_markdown_min_lines_around_header = 1 +ij_markdown_min_lines_between_paragraphs = 1 + +[{*.pb,*.textproto}] +indent_size = 2 +tab_width = 2 +ij_continuation_indent_size = 4 +ij_prototext_keep_blank_lines_in_code = 2 +ij_prototext_keep_indents_on_empty_lines = false +ij_prototext_keep_line_breaks = true +ij_prototext_space_after_colon = true +ij_prototext_space_after_comma = true +ij_prototext_space_before_colon = false +ij_prototext_space_before_comma = false +ij_prototext_spaces_within_braces = true +ij_prototext_spaces_within_brackets = false + +[{*.properties,spring.handlers,spring.schemas}] +ij_properties_align_group_field_declarations = false +ij_properties_keep_blank_lines = false +ij_properties_key_value_delimiter = equals +ij_properties_spaces_around_key_value_delimiter = false + +[{*.qute.html,*.qute.txt}] +ij_qute_keep_indents_on_empty_lines = false + +[{*.yaml,*.yml}] +indent_size = 2 +ij_yaml_align_values_properties = do_not_align +ij_yaml_autoinsert_sequence_marker = true +ij_yaml_block_mapping_on_new_line = false +ij_yaml_indent_sequence_value = true +ij_yaml_keep_indents_on_empty_lines = false +ij_yaml_keep_line_breaks = true +ij_yaml_sequence_on_new_line = false +ij_yaml_space_before_colon = false +ij_yaml_spaces_within_braces = true +ij_yaml_spaces_within_brackets = true diff --git a/src/main/java/dev/slimevr/Main.java b/src/main/java/dev/slimevr/Main.java index 6bb8bf3e8..9e91fbd01 100644 --- a/src/main/java/dev/slimevr/Main.java +++ b/src/main/java/dev/slimevr/Main.java @@ -1,19 +1,16 @@ package dev.slimevr; -import java.io.File; -import java.io.IOException; -import java.net.ServerSocket; - -import javax.swing.JOptionPane; - -import dev.slimevr.websocketapi.WebsocketAPI; -import org.apache.commons.cli.*; -import org.apache.commons.lang3.JavaVersion; -import org.apache.commons.lang3.SystemUtils; - import dev.slimevr.gui.Keybinding; import dev.slimevr.gui.VRServerGUI; import io.eiren.util.logging.LogManager; +import org.apache.commons.cli.*; +import org.apache.commons.lang3.JavaVersion; +import org.apache.commons.lang3.SystemUtils; + +import javax.swing.*; +import java.io.File; +import java.io.IOException; +import java.net.ServerSocket; public class Main { @@ -35,7 +32,6 @@ public class Main { Option noGui = new Option("g", "no-gui", false, "disable swing gui (allow for other gui to be used)"); Option help = new Option("h", "help", false, "Show help"); - options.addOption(noGui); options.addOption(help); try { @@ -51,7 +47,6 @@ public class Main { System.exit(0); } - File dir = new File("").getAbsoluteFile(); try { LogManager.initialize(new File(dir, "logs/"), dir); @@ -97,5 +92,4 @@ public class Main { } } } - } diff --git a/src/main/java/dev/slimevr/NetworkProtocol.java b/src/main/java/dev/slimevr/NetworkProtocol.java index a99b49e75..07366b1c8 100644 --- a/src/main/java/dev/slimevr/NetworkProtocol.java +++ b/src/main/java/dev/slimevr/NetworkProtocol.java @@ -4,5 +4,5 @@ public enum NetworkProtocol { OWO_LEGACY, SLIMEVR_RAW, SLIMEVR_FLATBUFFER, - SLIMEVR_WEBSOCKET; + SLIMEVR_WEBSOCKET } diff --git a/src/main/java/dev/slimevr/VRServer.java b/src/main/java/dev/slimevr/VRServer.java index f895c07e4..48bd6f30a 100644 --- a/src/main/java/dev/slimevr/VRServer.java +++ b/src/main/java/dev/slimevr/VRServer.java @@ -1,32 +1,17 @@ package dev.slimevr; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.net.InetAddress; -import java.net.UnknownHostException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Queue; -import java.util.concurrent.LinkedBlockingQueue; -import java.util.function.Consumer; - import dev.slimevr.bridge.Bridge; -import dev.slimevr.platform.windows.WindowsNamedPipeBridge; import dev.slimevr.bridge.VMCBridge; +import dev.slimevr.platform.windows.WindowsNamedPipeBridge; import dev.slimevr.poserecorder.BVHRecorder; -import dev.slimevr.serial.SerialHandler; import dev.slimevr.protocol.ProtocolAPI; -import dev.slimevr.vr.trackers.*; -import dev.slimevr.websocketapi.WebSocketVRBridge; +import dev.slimevr.serial.SerialHandler; import dev.slimevr.util.ann.VRServerThread; import dev.slimevr.vr.processor.HumanPoseProcessor; import dev.slimevr.vr.processor.skeleton.HumanSkeleton; +import dev.slimevr.vr.trackers.*; import dev.slimevr.vr.trackers.udp.TrackersUDPServer; +import dev.slimevr.websocketapi.WebSocketVRBridge; import io.eiren.util.OperatingSystem; import io.eiren.util.ann.ThreadSafe; import io.eiren.util.ann.ThreadSecure; @@ -36,23 +21,30 @@ import io.eiren.yaml.YamlFile; import io.eiren.yaml.YamlNode; import solarxr_protocol.datatypes.TrackerIdT; +import java.io.*; +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.util.*; +import java.util.concurrent.LinkedBlockingQueue; +import java.util.function.Consumer; + public class VRServer extends Thread { - private final List trackers = new FastList<>(); public final HumanPoseProcessor humanPoseProcessor; + public final YamlFile config = new YamlFile(); + public final HMDTracker hmdTracker; + private final List trackers = new FastList<>(); private final TrackersUDPServer trackersServer; private final List bridges = new FastList<>(); private final Queue tasks = new LinkedBlockingQueue<>(); private final Map configuration = new HashMap<>(); - public final YamlFile config = new YamlFile(); - public final HMDTracker hmdTracker; private final List> newTrackersConsumers = new FastList<>(); private final List onTick = new FastList<>(); private final List shareTrackers; private final BVHRecorder bvhRecorder; private final SerialHandler serialHandler; private final ProtocolAPI protocolAPI; - private String configPath; + private final String configPath; public VRServer() { this("vrconfig.yml"); @@ -88,10 +80,8 @@ public class VRServer extends Thread { WindowsNamedPipeBridge feederBridge = new WindowsNamedPipeBridge(null, "steamvr_feeder", "SteamVR Feeder Bridge", "\\\\.\\pipe\\SlimeVRInput", new FastList()); tasks.add(() -> feederBridge.startBridge()); bridges.add(feederBridge); - } - // Create WebSocket server WebSocketVRBridge wsBridge = new WebSocketVRBridge(hmdTracker, shareTrackers, this); tasks.add(() -> wsBridge.startBridge()); @@ -106,10 +96,8 @@ public class VRServer extends Thread { e.printStackTrace(); } - bvhRecorder = new BVHRecorder(this); - registerTracker(hmdTracker); for (int i = 0; i < shareTrackers.size(); ++i) registerTracker(shareTrackers.get(i)); @@ -279,7 +267,6 @@ public class VRServer extends Thread { }); } - public void updateTrackersFilters(TrackerFilters filter, float amount, int ticks) { config.setProperty("filters.type", filter.name()); config.setProperty("filters.amount", amount); @@ -333,7 +320,6 @@ public class VRServer extends Thread { return null; } - public BVHRecorder getBvhRecorder() { return this.bvhRecorder; } diff --git a/src/main/java/dev/slimevr/autobone/AutoBone.java b/src/main/java/dev/slimevr/autobone/AutoBone.java index 6b0158c2c..eb8723de6 100644 --- a/src/main/java/dev/slimevr/autobone/AutoBone.java +++ b/src/main/java/dev/slimevr/autobone/AutoBone.java @@ -1,15 +1,7 @@ package dev.slimevr.autobone; -import java.io.File; -import java.util.EnumMap; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.function.Consumer; - import com.jme3.math.FastMath; import com.jme3.math.Vector3f; - import dev.slimevr.VRServer; import dev.slimevr.poserecorder.*; import dev.slimevr.vr.processor.HumanPoseProcessor; @@ -20,80 +12,58 @@ import dev.slimevr.vr.trackers.TrackerPosition; import dev.slimevr.vr.trackers.TrackerRole; import dev.slimevr.vr.trackers.TrackerUtils; import io.eiren.util.StringUtils; -import io.eiren.util.logging.LogManager; import io.eiren.util.collections.FastList; +import io.eiren.util.logging.LogManager; import org.apache.commons.lang3.tuple.Pair; +import java.io.File; +import java.util.EnumMap; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.function.Consumer; + public class AutoBone { - public class Epoch { - - public final int epoch; - public final float epochError; - - public Epoch(int epoch, float epochError) { - this.epoch = epoch; - this.epochError = epochError; - } - - @Override - public String toString() { - return "Epoch: " + epoch + ", Epoch Error: " + epochError; - } - } - - - private static File saveDir = new File("Recordings"); - private static File loadDir = new File("LoadRecordings"); - + private static final File saveDir = new File("Recordings"); + private static final File loadDir = new File("LoadRecordings"); + // This is filled by reloadConfigValues() + public final EnumMap configs = new EnumMap(SkeletonConfigValue.class); + public final EnumMap staticConfigs = new EnumMap(SkeletonConfigValue.class); + public final FastList heightConfigs = new FastList(new SkeletonConfigValue[]{ + SkeletonConfigValue.NECK, SkeletonConfigValue.TORSO, SkeletonConfigValue.LEGS_LENGTH}); + public final FastList lengthConfigs = new FastList(new SkeletonConfigValue[]{ + SkeletonConfigValue.HEAD, SkeletonConfigValue.NECK, SkeletonConfigValue.TORSO, SkeletonConfigValue.HIPS_WIDTH, SkeletonConfigValue.LEGS_LENGTH}); + protected final VRServer server; public int cursorIncrement = 1; - public int minDataDistance = 2; public int maxDataDistance = 32; - public int numEpochs = 5; - public float initialAdjustRate = 2.5f; public float adjustRateDecay = 1.01f; - public float slideErrorFactor = 1.0f; public float offsetSlideErrorFactor = 0.0f; public float offsetErrorFactor = 0.0f; public float proportionErrorFactor = 0.2f; public float heightErrorFactor = 0.1f; - public float positionErrorFactor = 0.0f; - public float positionOffsetErrorFactor = 0.0f; - - public boolean calcInitError = false; - public float targetHeight = -1; // TODO Needs much more work, probably going to rethink how the errors work to avoid this barely functional workaround @ButterscotchV // For scaling distances, since smaller sizes will cause smaller distances //private float totalLengthBase = 2f; + public float positionErrorFactor = 0.0f; + public float positionOffsetErrorFactor = 0.0f; + public boolean calcInitError = false; + public float targetHeight = -1; + // TODO hip tracker stuff... Hip tracker should be around 3 to 5 centimeters. // Human average is probably 1.1235 (SD 0.07) public float legBodyRatio = 1.1235f; // SD of 0.07, capture 68% within range public float legBodyRatioRange = 0.07f; - // kneeLegRatio seems to be around 0.54 to 0.6 after asking a few people in the SlimeVR discord. public float kneeLegRatio = 0.55f; // kneeLegRatio seems to be around 0.55 to 0.64 after asking a few people in the SlimeVR discord. TODO : Chest should be a bit shorter (0.54?) if user has an additional hip tracker. public float chestTorsoRatio = 0.57f; - - // TODO hip tracker stuff... Hip tracker should be around 3 to 5 centimeters. - - protected final VRServer server; - - // This is filled by reloadConfigValues() - public final EnumMap configs = new EnumMap(SkeletonConfigValue.class); - public final EnumMap staticConfigs = new EnumMap(SkeletonConfigValue.class); - - public final FastList heightConfigs = new FastList(new SkeletonConfigValue[]{ - SkeletonConfigValue.NECK, SkeletonConfigValue.TORSO, SkeletonConfigValue.LEGS_LENGTH}); - public final FastList lengthConfigs = new FastList(new SkeletonConfigValue[]{ - SkeletonConfigValue.HEAD, SkeletonConfigValue.NECK, SkeletonConfigValue.TORSO, SkeletonConfigValue.HIPS_WIDTH, SkeletonConfigValue.LEGS_LENGTH}); - public AutoBone(VRServer server) { this.server = server; reloadConfigValues(); @@ -118,6 +88,15 @@ public class AutoBone { this.targetHeight = server.config.getFloat("autobone.manualTargetHeight", -1f); } + // Mean square error function + protected static float errorFunc(float errorDeriv) { + return 0.5f * (errorDeriv * errorDeriv); + } + + public static File getLoadDir() { + return loadDir; + } + public void reloadConfigValues() { reloadConfigValues(null); } @@ -611,11 +590,6 @@ public class AutoBone { return sumWeight > 0f ? totalError / sumWeight : 0f; } - // Mean square error function - protected static float errorFunc(float errorDeriv) { - return 0.5f * (errorDeriv * errorDeriv); - } - protected void updateSkeletonBoneLength(PoseFrameSkeleton skeleton1, PoseFrameSkeleton skeleton2, SkeletonConfigValue config, float newLength) { skeleton1.skeletonConfig.setConfig(config, newLength); skeleton1.updatePoseAffectedByConfig(config); @@ -637,7 +611,6 @@ public class AutoBone { return configInfo.toString(); } - public void saveRecording(PoseFrames frames) { if (saveDir.isDirectory() || saveDir.mkdirs()) { File saveRecording; @@ -680,7 +653,19 @@ public class AutoBone { return recordings; } - public static File getLoadDir() { - return loadDir; + public class Epoch { + + public final int epoch; + public final float epochError; + + public Epoch(int epoch, float epochError) { + this.epoch = epoch; + this.epochError = epochError; + } + + @Override + public String toString() { + return "Epoch: " + epoch + ", Epoch Error: " + epochError; + } } } diff --git a/src/main/java/dev/slimevr/bridge/Bridge.java b/src/main/java/dev/slimevr/bridge/Bridge.java index 6152fcf70..11f596c07 100644 --- a/src/main/java/dev/slimevr/bridge/Bridge.java +++ b/src/main/java/dev/slimevr/bridge/Bridge.java @@ -13,10 +13,10 @@ import dev.slimevr.vr.trackers.ShareableTracker; public interface Bridge { @VRServerThread - public void dataRead(); + void dataRead(); @VRServerThread - public void dataWrite(); + void dataWrite(); /** * Adds shared tracker to the bridge. Bridge should notify the @@ -26,7 +26,7 @@ public interface Bridge { * @param tracker */ @VRServerThread - public void addSharedTracker(ShareableTracker tracker); + void addSharedTracker(ShareableTracker tracker); /** * Removes tracker from a bridge. If the other side supports @@ -38,8 +38,8 @@ public interface Bridge { * @param tracker */ @VRServerThread - public void removeSharedTracker(ShareableTracker tracker); + void removeSharedTracker(ShareableTracker tracker); @VRServerThread - public void startBridge(); + void startBridge(); } diff --git a/src/main/java/dev/slimevr/bridge/OpenVRNativeBridge.java b/src/main/java/dev/slimevr/bridge/OpenVRNativeBridge.java index 87ba33df6..b43864749 100644 --- a/src/main/java/dev/slimevr/bridge/OpenVRNativeBridge.java +++ b/src/main/java/dev/slimevr/bridge/OpenVRNativeBridge.java @@ -38,5 +38,4 @@ public class OpenVRNativeBridge implements Bridge { public void startBridge() { } - } diff --git a/src/main/java/dev/slimevr/bridge/PipeState.java b/src/main/java/dev/slimevr/bridge/PipeState.java index 8a667f46f..c1580567d 100644 --- a/src/main/java/dev/slimevr/bridge/PipeState.java +++ b/src/main/java/dev/slimevr/bridge/PipeState.java @@ -3,5 +3,5 @@ package dev.slimevr.bridge; public enum PipeState { CREATED, OPEN, - ERROR; + ERROR } diff --git a/src/main/java/dev/slimevr/bridge/ProtobufBridge.java b/src/main/java/dev/slimevr/bridge/ProtobufBridge.java index ffc812a6e..1b75fdd83 100644 --- a/src/main/java/dev/slimevr/bridge/ProtobufBridge.java +++ b/src/main/java/dev/slimevr/bridge/ProtobufBridge.java @@ -1,53 +1,38 @@ package dev.slimevr.bridge; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Queue; -import java.util.concurrent.LinkedBlockingQueue; - import com.jme3.math.Quaternion; import com.jme3.math.Vector3f; - import dev.slimevr.Main; -import dev.slimevr.bridge.ProtobufMessages.Position; -import dev.slimevr.bridge.ProtobufMessages.ProtobufMessage; -import dev.slimevr.bridge.ProtobufMessages.TrackerAdded; import dev.slimevr.bridge.ProtobufMessages.TrackerStatus; -import dev.slimevr.bridge.ProtobufMessages.UserAction; +import dev.slimevr.bridge.ProtobufMessages.*; import dev.slimevr.util.ann.VRServerThread; -import dev.slimevr.vr.trackers.ComputedTracker; -import dev.slimevr.vr.trackers.HMDTracker; -import dev.slimevr.vr.trackers.ShareableTracker; -import dev.slimevr.vr.trackers.TrackerRole; -import dev.slimevr.vr.trackers.VRTracker; +import dev.slimevr.vr.trackers.*; import io.eiren.util.ann.Synchronize; import io.eiren.util.ann.ThreadSafe; import io.eiren.util.collections.FastList; +import java.util.*; +import java.util.Map.Entry; +import java.util.concurrent.LinkedBlockingQueue; + public abstract class ProtobufBridge implements Bridge { + @VRServerThread + protected final List sharedTrackers = new FastList<>(); + protected final String bridgeName; private final Vector3f vec1 = new Vector3f(); private final Quaternion quat1 = new Quaternion(); - @ThreadSafe private final Queue inputQueue = new LinkedBlockingQueue<>(); @ThreadSafe private final Queue outputQueue = new LinkedBlockingQueue<>(); - @VRServerThread - protected final List sharedTrackers = new FastList<>(); @Synchronize("self") private final Map remoteTrackersBySerial = new HashMap<>(); @Synchronize("self") private final Map remoteTrackersByTrackerId = new HashMap<>(); - - private boolean hadNewData = false; - - private T hmdTracker; private final HMDTracker hmd; - protected final String bridgeName; + private boolean hadNewData = false; + private T hmdTracker; public ProtobufBridge(String bridgeName, HMDTracker hmd) { this.bridgeName = bridgeName; diff --git a/src/main/java/dev/slimevr/bridge/ProtobufMessages.java b/src/main/java/dev/slimevr/bridge/ProtobufMessages.java index 97c26896b..bc127cfdb 100644 --- a/src/main/java/dev/slimevr/bridge/ProtobufMessages.java +++ b/src/main/java/dev/slimevr/bridge/ProtobufMessages.java @@ -4,6 +4,136 @@ package dev.slimevr.bridge; public final class ProtobufMessages { + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_messages_PingPong_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_messages_PingPong_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_messages_Position_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_messages_Position_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_messages_UserAction_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_messages_UserAction_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_messages_UserAction_ActionArgumentsEntry_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_messages_UserAction_ActionArgumentsEntry_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_messages_TrackerAdded_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_messages_TrackerAdded_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_messages_TrackerStatus_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_messages_TrackerStatus_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_messages_TrackerStatus_ExtraEntry_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_messages_TrackerStatus_ExtraEntry_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_messages_ProtobufMessage_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_messages_ProtobufMessage_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.FileDescriptor + descriptor; + + static { + java.lang.String[] descriptorData = { + "\n\026ProtobufMessages.proto\022\010messages\"\n\n\010Pi" + + "ngPong\"\223\002\n\010Position\022\022\n\ntracker_id\030\001 \001(\005\022" + + "\016\n\001x\030\002 \001(\002H\000\210\001\001\022\016\n\001y\030\003 \001(\002H\001\210\001\001\022\016\n\001z\030\004 \001" + + "(\002H\002\210\001\001\022\n\n\002qx\030\005 \001(\002\022\n\n\002qy\030\006 \001(\002\022\n\n\002qz\030\007 " + + "\001(\002\022\n\n\002qw\030\010 \001(\002\0227\n\013data_source\030\t \001(\0162\035.m" + + "essages.Position.DataSourceH\003\210\001\001\"8\n\nData" + + "Source\022\010\n\004NONE\020\000\022\007\n\003IMU\020\001\022\r\n\tPRECISION\020\002" + + "\022\010\n\004FULL\020\003B\004\n\002_xB\004\n\002_yB\004\n\002_zB\016\n\014_data_so" + + "urce\"\227\001\n\nUserAction\022\014\n\004name\030\001 \001(\t\022C\n\020act" + + "ion_arguments\030\002 \003(\0132).messages.UserActio" + + "n.ActionArgumentsEntry\0326\n\024ActionArgument" + + "sEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"f" + + "\n\014TrackerAdded\022\022\n\ntracker_id\030\001 \001(\005\022\026\n\016tr" + + "acker_serial\030\002 \001(\t\022\024\n\014tracker_name\030\003 \001(\t" + + "\022\024\n\014tracker_role\030\004 \001(\005\"\374\002\n\rTrackerStatus" + + "\022\022\n\ntracker_id\030\001 \001(\005\022.\n\006status\030\002 \001(\0162\036.m" + + "essages.TrackerStatus.Status\0221\n\005extra\030\003 " + + "\003(\0132\".messages.TrackerStatus.ExtraEntry\022" + + ";\n\nconfidence\030\004 \001(\0162\".messages.TrackerSt" + + "atus.ConfidenceH\000\210\001\001\032,\n\nExtraEntry\022\013\n\003ke" + + "y\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"E\n\006Status\022\020\n\014" + + "DISCONNECTED\020\000\022\006\n\002OK\020\001\022\010\n\004BUSY\020\002\022\t\n\005ERRO" + + "R\020\003\022\014\n\010OCCLUDED\020\004\"3\n\nConfidence\022\006\n\002NO\020\000\022" + + "\007\n\003LOW\020\001\022\n\n\006MEDIUM\020\005\022\010\n\004HIGH\020\nB\r\n\013_confi" + + "dence\"\325\001\n\017ProtobufMessage\022&\n\010position\030\001 " + + "\001(\0132\022.messages.PositionH\000\022+\n\013user_action" + + "\030\002 \001(\0132\024.messages.UserActionH\000\022/\n\rtracke" + + "r_added\030\003 \001(\0132\026.messages.TrackerAddedH\000\022" + + "1\n\016tracker_status\030\004 \001(\0132\027.messages.Track" + + "erStatusH\000B\t\n\007messageB&\n\022dev.slimevr.bri" + + "dgeB\020ProtobufMessagesb\006proto3" + }; + descriptor = com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[]{ + }); + internal_static_messages_PingPong_descriptor = + getDescriptor().getMessageTypes().get(0); + internal_static_messages_PingPong_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_messages_PingPong_descriptor, + new java.lang.String[]{}); + internal_static_messages_Position_descriptor = + getDescriptor().getMessageTypes().get(1); + internal_static_messages_Position_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_messages_Position_descriptor, + new java.lang.String[]{"TrackerId", "X", "Y", "Z", "Qx", "Qy", "Qz", "Qw", "DataSource", "X", "Y", "Z", "DataSource",}); + internal_static_messages_UserAction_descriptor = + getDescriptor().getMessageTypes().get(2); + internal_static_messages_UserAction_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_messages_UserAction_descriptor, + new java.lang.String[]{"Name", "ActionArguments",}); + internal_static_messages_UserAction_ActionArgumentsEntry_descriptor = + internal_static_messages_UserAction_descriptor.getNestedTypes().get(0); + internal_static_messages_UserAction_ActionArgumentsEntry_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_messages_UserAction_ActionArgumentsEntry_descriptor, + new java.lang.String[]{"Key", "Value",}); + internal_static_messages_TrackerAdded_descriptor = + getDescriptor().getMessageTypes().get(3); + internal_static_messages_TrackerAdded_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_messages_TrackerAdded_descriptor, + new java.lang.String[]{"TrackerId", "TrackerSerial", "TrackerName", "TrackerRole",}); + internal_static_messages_TrackerStatus_descriptor = + getDescriptor().getMessageTypes().get(4); + internal_static_messages_TrackerStatus_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_messages_TrackerStatus_descriptor, + new java.lang.String[]{"TrackerId", "Status", "Extra", "Confidence", "Confidence",}); + internal_static_messages_TrackerStatus_ExtraEntry_descriptor = + internal_static_messages_TrackerStatus_descriptor.getNestedTypes().get(0); + internal_static_messages_TrackerStatus_ExtraEntry_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_messages_TrackerStatus_ExtraEntry_descriptor, + new java.lang.String[]{"Key", "Value",}); + internal_static_messages_ProtobufMessage_descriptor = + getDescriptor().getMessageTypes().get(5); + internal_static_messages_ProtobufMessage_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_messages_ProtobufMessage_descriptor, + new java.lang.String[]{"Position", "UserAction", "TrackerAdded", "TrackerStatus", "Message",}); + } private ProtobufMessages() { } @@ -17,10 +147,389 @@ public final class ProtobufMessages { (com.google.protobuf.ExtensionRegistryLite) registry); } + public static com.google.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; + } public interface PingPongOrBuilder extends // @@protoc_insertion_point(interface_extends:messages.PingPong) com.google.protobuf.MessageOrBuilder { } + public interface PositionOrBuilder extends + // @@protoc_insertion_point(interface_extends:messages.Position) + com.google.protobuf.MessageOrBuilder { + + /** + * int32 tracker_id = 1; + * + * @return The trackerId. + */ + int getTrackerId(); + + /** + * float x = 2; + * + * @return Whether the x field is set. + */ + boolean hasX(); + + /** + * float x = 2; + * + * @return The x. + */ + float getX(); + + /** + * float y = 3; + * + * @return Whether the y field is set. + */ + boolean hasY(); + + /** + * float y = 3; + * + * @return The y. + */ + float getY(); + + /** + * float z = 4; + * + * @return Whether the z field is set. + */ + boolean hasZ(); + + /** + * float z = 4; + * + * @return The z. + */ + float getZ(); + + /** + * float qx = 5; + * + * @return The qx. + */ + float getQx(); + + /** + * float qy = 6; + * + * @return The qy. + */ + float getQy(); + + /** + * float qz = 7; + * + * @return The qz. + */ + float getQz(); + + /** + * float qw = 8; + * + * @return The qw. + */ + float getQw(); + + /** + * .messages.Position.DataSource data_source = 9; + * + * @return Whether the dataSource field is set. + */ + boolean hasDataSource(); + + /** + * .messages.Position.DataSource data_source = 9; + * + * @return The enum numeric value on the wire for dataSource. + */ + int getDataSourceValue(); + + /** + * .messages.Position.DataSource data_source = 9; + * + * @return The dataSource. + */ + dev.slimevr.bridge.ProtobufMessages.Position.DataSource getDataSource(); + } + public interface UserActionOrBuilder extends + // @@protoc_insertion_point(interface_extends:messages.UserAction) + com.google.protobuf.MessageOrBuilder { + + /** + * string name = 1; + * + * @return The name. + */ + java.lang.String getName(); + + /** + * string name = 1; + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString + getNameBytes(); + + /** + * map<string, string> action_arguments = 2; + */ + int getActionArgumentsCount(); + + /** + * map<string, string> action_arguments = 2; + */ + boolean containsActionArguments( + java.lang.String key); + + /** + * Use {@link #getActionArgumentsMap()} instead. + */ + @java.lang.Deprecated + java.util.Map + getActionArguments(); + + /** + * map<string, string> action_arguments = 2; + */ + java.util.Map + getActionArgumentsMap(); + + /** + * map<string, string> action_arguments = 2; + */ + + java.lang.String getActionArgumentsOrDefault( + java.lang.String key, + java.lang.String defaultValue); + + /** + * map<string, string> action_arguments = 2; + */ + + java.lang.String getActionArgumentsOrThrow( + java.lang.String key); + } + public interface TrackerAddedOrBuilder extends + // @@protoc_insertion_point(interface_extends:messages.TrackerAdded) + com.google.protobuf.MessageOrBuilder { + + /** + * int32 tracker_id = 1; + * + * @return The trackerId. + */ + int getTrackerId(); + + /** + * string tracker_serial = 2; + * + * @return The trackerSerial. + */ + java.lang.String getTrackerSerial(); + + /** + * string tracker_serial = 2; + * + * @return The bytes for trackerSerial. + */ + com.google.protobuf.ByteString + getTrackerSerialBytes(); + + /** + * string tracker_name = 3; + * + * @return The trackerName. + */ + java.lang.String getTrackerName(); + + /** + * string tracker_name = 3; + * + * @return The bytes for trackerName. + */ + com.google.protobuf.ByteString + getTrackerNameBytes(); + + /** + * int32 tracker_role = 4; + * + * @return The trackerRole. + */ + int getTrackerRole(); + } + public interface TrackerStatusOrBuilder extends + // @@protoc_insertion_point(interface_extends:messages.TrackerStatus) + com.google.protobuf.MessageOrBuilder { + + /** + * int32 tracker_id = 1; + * + * @return The trackerId. + */ + int getTrackerId(); + + /** + * .messages.TrackerStatus.Status status = 2; + * + * @return The enum numeric value on the wire for status. + */ + int getStatusValue(); + + /** + * .messages.TrackerStatus.Status status = 2; + * + * @return The status. + */ + dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Status getStatus(); + + /** + * map<string, string> extra = 3; + */ + int getExtraCount(); + + /** + * map<string, string> extra = 3; + */ + boolean containsExtra( + java.lang.String key); + + /** + * Use {@link #getExtraMap()} instead. + */ + @java.lang.Deprecated + java.util.Map + getExtra(); + + /** + * map<string, string> extra = 3; + */ + java.util.Map + getExtraMap(); + + /** + * map<string, string> extra = 3; + */ + + java.lang.String getExtraOrDefault( + java.lang.String key, + java.lang.String defaultValue); + + /** + * map<string, string> extra = 3; + */ + + java.lang.String getExtraOrThrow( + java.lang.String key); + + /** + * .messages.TrackerStatus.Confidence confidence = 4; + * + * @return Whether the confidence field is set. + */ + boolean hasConfidence(); + + /** + * .messages.TrackerStatus.Confidence confidence = 4; + * + * @return The enum numeric value on the wire for confidence. + */ + int getConfidenceValue(); + + /** + * .messages.TrackerStatus.Confidence confidence = 4; + * + * @return The confidence. + */ + dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Confidence getConfidence(); + } + public interface ProtobufMessageOrBuilder extends + // @@protoc_insertion_point(interface_extends:messages.ProtobufMessage) + com.google.protobuf.MessageOrBuilder { + + /** + * .messages.Position position = 1; + * + * @return Whether the position field is set. + */ + boolean hasPosition(); + + /** + * .messages.Position position = 1; + * + * @return The position. + */ + dev.slimevr.bridge.ProtobufMessages.Position getPosition(); + + /** + * .messages.Position position = 1; + */ + dev.slimevr.bridge.ProtobufMessages.PositionOrBuilder getPositionOrBuilder(); + + /** + * .messages.UserAction user_action = 2; + * + * @return Whether the userAction field is set. + */ + boolean hasUserAction(); + + /** + * .messages.UserAction user_action = 2; + * + * @return The userAction. + */ + dev.slimevr.bridge.ProtobufMessages.UserAction getUserAction(); + + /** + * .messages.UserAction user_action = 2; + */ + dev.slimevr.bridge.ProtobufMessages.UserActionOrBuilder getUserActionOrBuilder(); + + /** + * .messages.TrackerAdded tracker_added = 3; + * + * @return Whether the trackerAdded field is set. + */ + boolean hasTrackerAdded(); + + /** + * .messages.TrackerAdded tracker_added = 3; + * + * @return The trackerAdded. + */ + dev.slimevr.bridge.ProtobufMessages.TrackerAdded getTrackerAdded(); + + /** + * .messages.TrackerAdded tracker_added = 3; + */ + dev.slimevr.bridge.ProtobufMessages.TrackerAddedOrBuilder getTrackerAddedOrBuilder(); + + /** + * .messages.TrackerStatus tracker_status = 4; + * + * @return Whether the trackerStatus field is set. + */ + boolean hasTrackerStatus(); + + /** + * .messages.TrackerStatus tracker_status = 4; + * + * @return The trackerStatus. + */ + dev.slimevr.bridge.ProtobufMessages.TrackerStatus getTrackerStatus(); + + /** + * .messages.TrackerStatus tracker_status = 4; + */ + dev.slimevr.bridge.ProtobufMessages.TrackerStatusOrBuilder getTrackerStatusOrBuilder(); + + dev.slimevr.bridge.ProtobufMessages.ProtobufMessage.MessageCase getMessageCase(); + } /** * Protobuf type {@code messages.PingPong} @@ -30,6 +539,24 @@ public final class ProtobufMessages { // @@protoc_insertion_point(message_implements:messages.PingPong) PingPongOrBuilder { private static final long serialVersionUID = 0L; + // @@protoc_insertion_point(class_scope:messages.PingPong) + private static final dev.slimevr.bridge.ProtobufMessages.PingPong DEFAULT_INSTANCE; + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public PingPong parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new PingPong(input, extensionRegistry); + } + }; + + static { + DEFAULT_INSTANCE = new dev.slimevr.bridge.ProtobufMessages.PingPong(); + } + + private byte memoizedIsInitialized = -1; // Use PingPong.newBuilder() to construct. private PingPong(com.google.protobuf.GeneratedMessageV3.Builder builder) { @@ -39,19 +566,6 @@ public final class ProtobufMessages { private PingPong() { } - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new PingPong(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private PingPong( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) @@ -95,69 +609,6 @@ public final class ProtobufMessages { return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_PingPong_descriptor; } - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_PingPong_fieldAccessorTable - .ensureFieldAccessorsInitialized( - dev.slimevr.bridge.ProtobufMessages.PingPong.class, dev.slimevr.bridge.ProtobufMessages.PingPong.Builder.class); - } - - private byte memoizedIsInitialized = -1; - - @java.lang.Override - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized == 1) return true; - if (isInitialized == 0) return false; - - memoizedIsInitialized = 1; - return true; - } - - @java.lang.Override - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - unknownFields.writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - size += unknownFields.getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof dev.slimevr.bridge.ProtobufMessages.PingPong)) { - return super.equals(obj); - } - dev.slimevr.bridge.ProtobufMessages.PingPong other = (dev.slimevr.bridge.ProtobufMessages.PingPong) obj; - - if (!unknownFields.equals(other.unknownFields)) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - hash = (29 * hash) + unknownFields.hashCode(); - memoizedHashCode = hash; - return hash; - } - public static dev.slimevr.bridge.ProtobufMessages.PingPong parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { @@ -239,11 +690,6 @@ public final class ProtobufMessages { .parseWithIOException(PARSER, input, extensionRegistry); } - @java.lang.Override - public Builder newBuilderForType() { - return newBuilder(); - } - public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } @@ -252,6 +698,92 @@ public final class ProtobufMessages { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } + public static dev.slimevr.bridge.ProtobufMessages.PingPong getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new PingPong(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_PingPong_fieldAccessorTable + .ensureFieldAccessorsInitialized( + dev.slimevr.bridge.ProtobufMessages.PingPong.class, dev.slimevr.bridge.ProtobufMessages.PingPong.Builder.class); + } + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof dev.slimevr.bridge.ProtobufMessages.PingPong)) { + return super.equals(obj); + } + dev.slimevr.bridge.ProtobufMessages.PingPong other = (dev.slimevr.bridge.ProtobufMessages.PingPong) obj; + + return unknownFields.equals(other.unknownFields); + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE @@ -265,6 +797,16 @@ public final class ProtobufMessages { return builder; } + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public dev.slimevr.bridge.ProtobufMessages.PingPong getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + /** * Protobuf type {@code messages.PingPong} */ @@ -272,6 +814,17 @@ public final class ProtobufMessages { com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:messages.PingPong) dev.slimevr.bridge.ProtobufMessages.PingPongOrBuilder { + // Construct using dev.slimevr.bridge.ProtobufMessages.PingPong.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_PingPong_descriptor; @@ -285,17 +838,6 @@ public final class ProtobufMessages { dev.slimevr.bridge.ProtobufMessages.PingPong.class, dev.slimevr.bridge.ProtobufMessages.PingPong.Builder.class); } - // Construct using dev.slimevr.bridge.ProtobufMessages.PingPong.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { @@ -426,149 +968,8 @@ public final class ProtobufMessages { return super.mergeUnknownFields(unknownFields); } - // @@protoc_insertion_point(builder_scope:messages.PingPong) } - - // @@protoc_insertion_point(class_scope:messages.PingPong) - private static final dev.slimevr.bridge.ProtobufMessages.PingPong DEFAULT_INSTANCE; - - static { - DEFAULT_INSTANCE = new dev.slimevr.bridge.ProtobufMessages.PingPong(); - } - - public static dev.slimevr.bridge.ProtobufMessages.PingPong getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public PingPong parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new PingPong(input, extensionRegistry); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public dev.slimevr.bridge.ProtobufMessages.PingPong getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface PositionOrBuilder extends - // @@protoc_insertion_point(interface_extends:messages.Position) - com.google.protobuf.MessageOrBuilder { - - /** - * int32 tracker_id = 1; - * - * @return The trackerId. - */ - int getTrackerId(); - - /** - * float x = 2; - * - * @return Whether the x field is set. - */ - boolean hasX(); - - /** - * float x = 2; - * - * @return The x. - */ - float getX(); - - /** - * float y = 3; - * - * @return Whether the y field is set. - */ - boolean hasY(); - - /** - * float y = 3; - * - * @return The y. - */ - float getY(); - - /** - * float z = 4; - * - * @return Whether the z field is set. - */ - boolean hasZ(); - - /** - * float z = 4; - * - * @return The z. - */ - float getZ(); - - /** - * float qx = 5; - * - * @return The qx. - */ - float getQx(); - - /** - * float qy = 6; - * - * @return The qy. - */ - float getQy(); - - /** - * float qz = 7; - * - * @return The qz. - */ - float getQz(); - - /** - * float qw = 8; - * - * @return The qw. - */ - float getQw(); - - /** - * .messages.Position.DataSource data_source = 9; - * - * @return Whether the dataSource field is set. - */ - boolean hasDataSource(); - - /** - * .messages.Position.DataSource data_source = 9; - * - * @return The enum numeric value on the wire for dataSource. - */ - int getDataSourceValue(); - - /** - * .messages.Position.DataSource data_source = 9; - * - * @return The dataSource. - */ - dev.slimevr.bridge.ProtobufMessages.Position.DataSource getDataSource(); } /** @@ -578,7 +979,44 @@ public final class ProtobufMessages { com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:messages.Position) PositionOrBuilder { + public static final int TRACKER_ID_FIELD_NUMBER = 1; + public static final int X_FIELD_NUMBER = 2; + public static final int Y_FIELD_NUMBER = 3; + public static final int Z_FIELD_NUMBER = 4; + public static final int QX_FIELD_NUMBER = 5; + public static final int QY_FIELD_NUMBER = 6; + public static final int QZ_FIELD_NUMBER = 7; + public static final int QW_FIELD_NUMBER = 8; + public static final int DATA_SOURCE_FIELD_NUMBER = 9; private static final long serialVersionUID = 0L; + // @@protoc_insertion_point(class_scope:messages.Position) + private static final dev.slimevr.bridge.ProtobufMessages.Position DEFAULT_INSTANCE; + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Position parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Position(input, extensionRegistry); + } + }; + + static { + DEFAULT_INSTANCE = new dev.slimevr.bridge.ProtobufMessages.Position(); + } + + private int bitField0_; + private int trackerId_; + private float x_; + private float y_; + private float z_; + private float qx_; + private float qy_; + private float qz_; + private float qw_; + private int dataSource_; + private byte memoizedIsInitialized = -1; // Use Position.newBuilder() to construct. private Position(com.google.protobuf.GeneratedMessageV3.Builder builder) { @@ -588,20 +1026,6 @@ public final class ProtobufMessages { private Position() { dataSource_ = 0; } - - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new Position(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private Position( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) @@ -692,6 +1116,116 @@ public final class ProtobufMessages { return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_Position_descriptor; } + public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static dev.slimevr.bridge.ProtobufMessages.Position parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static dev.slimevr.bridge.ProtobufMessages.Position parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(dev.slimevr.bridge.ProtobufMessages.Position prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + public static dev.slimevr.bridge.ProtobufMessages.Position getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new Position(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { @@ -700,148 +1234,6 @@ public final class ProtobufMessages { dev.slimevr.bridge.ProtobufMessages.Position.class, dev.slimevr.bridge.ProtobufMessages.Position.Builder.class); } - /** - * Protobuf enum {@code messages.Position.DataSource} - */ - public enum DataSource - implements com.google.protobuf.ProtocolMessageEnum { - /** - * NONE = 0; - */ - NONE(0), - /** - * IMU = 1; - */ - IMU(1), - /** - * PRECISION = 2; - */ - PRECISION(2), - /** - * FULL = 3; - */ - FULL(3), - UNRECOGNIZED(-1), - ; - - /** - * NONE = 0; - */ - public static final int NONE_VALUE = 0; - /** - * IMU = 1; - */ - public static final int IMU_VALUE = 1; - /** - * PRECISION = 2; - */ - public static final int PRECISION_VALUE = 2; - /** - * FULL = 3; - */ - public static final int FULL_VALUE = 3; - - - @Override - public final int getNumber() { - if (this == UNRECOGNIZED) { - throw new java.lang.IllegalArgumentException( - "Can't get the number of an unknown enum value."); - } - return value; - } - - /** - * @param value The numeric wire value of the corresponding enum entry. - * @return The enum associated with the given numeric wire value. - * @deprecated Use {@link #forNumber(int)} instead. - */ - @java.lang.Deprecated - public static DataSource valueOf(int value) { - return forNumber(value); - } - - /** - * @param value The numeric wire value of the corresponding enum entry. - * @return The enum associated with the given numeric wire value. - */ - public static DataSource forNumber(int value) { - switch (value) { - case 0: - return NONE; - case 1: - return IMU; - case 2: - return PRECISION; - case 3: - return FULL; - default: - return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - - private static final com.google.protobuf.Internal.EnumLiteMap< - DataSource> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - @Override - public DataSource findValueByNumber(int number) { - return DataSource.forNumber(number); - } - }; - - @Override - public final com.google.protobuf.Descriptors.EnumValueDescriptor - getValueDescriptor() { - if (this == UNRECOGNIZED) { - throw new java.lang.IllegalStateException( - "Can't get the descriptor of an unrecognized enum value."); - } - return getDescriptor().getValues().get(ordinal()); - } - - @Override - public final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptorForType() { - return getDescriptor(); - } - - public static final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return dev.slimevr.bridge.ProtobufMessages.Position.getDescriptor().getEnumTypes().get(0); - } - - private static final DataSource[] VALUES = values(); - - public static DataSource valueOf( - com.google.protobuf.Descriptors.EnumValueDescriptor desc) { - if (desc.getType() != getDescriptor()) { - throw new java.lang.IllegalArgumentException( - "EnumValueDescriptor is not for this type."); - } - if (desc.getIndex() == -1) { - return UNRECOGNIZED; - } - return VALUES[desc.getIndex()]; - } - - private final int value; - - private DataSource(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:messages.Position.DataSource) - } - - private int bitField0_; - public static final int TRACKER_ID_FIELD_NUMBER = 1; - private int trackerId_; - /** * int32 tracker_id = 1; * @@ -852,9 +1244,6 @@ public final class ProtobufMessages { return trackerId_; } - public static final int X_FIELD_NUMBER = 2; - private float x_; - /** * float x = 2; * @@ -875,9 +1264,6 @@ public final class ProtobufMessages { return x_; } - public static final int Y_FIELD_NUMBER = 3; - private float y_; - /** * float y = 3; * @@ -898,9 +1284,6 @@ public final class ProtobufMessages { return y_; } - public static final int Z_FIELD_NUMBER = 4; - private float z_; - /** * float z = 4; * @@ -921,9 +1304,6 @@ public final class ProtobufMessages { return z_; } - public static final int QX_FIELD_NUMBER = 5; - private float qx_; - /** * float qx = 5; * @@ -934,9 +1314,6 @@ public final class ProtobufMessages { return qx_; } - public static final int QY_FIELD_NUMBER = 6; - private float qy_; - /** * float qy = 6; * @@ -947,9 +1324,6 @@ public final class ProtobufMessages { return qy_; } - public static final int QZ_FIELD_NUMBER = 7; - private float qz_; - /** * float qz = 7; * @@ -960,9 +1334,6 @@ public final class ProtobufMessages { return qz_; } - public static final int QW_FIELD_NUMBER = 8; - private float qw_; - /** * float qw = 8; * @@ -973,9 +1344,6 @@ public final class ProtobufMessages { return qw_; } - public static final int DATA_SOURCE_FIELD_NUMBER = 9; - private int dataSource_; - /** * .messages.Position.DataSource data_source = 9; * @@ -1008,8 +1376,6 @@ public final class ProtobufMessages { return result == null ? dev.slimevr.bridge.ProtobufMessages.Position.DataSource.UNRECOGNIZED : result; } - private byte memoizedIsInitialized = -1; - @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; @@ -1146,8 +1512,7 @@ public final class ProtobufMessages { if (hasDataSource()) { if (dataSource_ != other.dataSource_) return false; } - if (!unknownFields.equals(other.unknownFields)) return false; - return true; + return unknownFields.equals(other.unknownFields); } @java.lang.Override @@ -1195,100 +1560,11 @@ public final class ProtobufMessages { return hash; } - public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - - public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - - public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - - public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - - public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - - public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - - public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - - public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static dev.slimevr.bridge.ProtobufMessages.Position parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input); - } - - public static dev.slimevr.bridge.ProtobufMessages.Position parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - - public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - - public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - - public static Builder newBuilder(dev.slimevr.bridge.ProtobufMessages.Position prototype) { - return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); - } - @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE @@ -1302,6 +1578,150 @@ public final class ProtobufMessages { return builder; } + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public dev.slimevr.bridge.ProtobufMessages.Position getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + /** + * Protobuf enum {@code messages.Position.DataSource} + */ + public enum DataSource + implements com.google.protobuf.ProtocolMessageEnum { + /** + * NONE = 0; + */ + NONE(0), + /** + * IMU = 1; + */ + IMU(1), + /** + * PRECISION = 2; + */ + PRECISION(2), + /** + * FULL = 3; + */ + FULL(3), + UNRECOGNIZED(-1), + ; + + /** + * NONE = 0; + */ + public static final int NONE_VALUE = 0; + /** + * IMU = 1; + */ + public static final int IMU_VALUE = 1; + /** + * PRECISION = 2; + */ + public static final int PRECISION_VALUE = 2; + /** + * FULL = 3; + */ + public static final int FULL_VALUE = 3; + private static final com.google.protobuf.Internal.EnumLiteMap< + DataSource> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + @Override + public DataSource findValueByNumber(int number) { + return DataSource.forNumber(number); + } + }; + private static final DataSource[] VALUES = values(); + private final int value; + + DataSource(int value) { + this.value = value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static DataSource valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static DataSource forNumber(int value) { + switch (value) { + case 0: + return NONE; + case 1: + return IMU; + case 2: + return PRECISION; + case 3: + return FULL; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return dev.slimevr.bridge.ProtobufMessages.Position.getDescriptor().getEnumTypes().get(0); + } + + public static DataSource valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + @Override + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + @Override + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + @Override + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + + // @@protoc_insertion_point(enum_scope:messages.Position.DataSource) + } + /** * Protobuf type {@code messages.Position} */ @@ -1309,6 +1729,28 @@ public final class ProtobufMessages { com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:messages.Position) dev.slimevr.bridge.ProtobufMessages.PositionOrBuilder { + private int bitField0_; + private int trackerId_; + private float x_; + private float y_; + private float z_; + private float qx_; + private float qy_; + private float qz_; + private float qw_; + private int dataSource_ = 0; + + // Construct using dev.slimevr.bridge.ProtobufMessages.Position.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_Position_descriptor; @@ -1322,17 +1764,6 @@ public final class ProtobufMessages { dev.slimevr.bridge.ProtobufMessages.Position.class, dev.slimevr.bridge.ProtobufMessages.Position.Builder.class); } - // Construct using dev.slimevr.bridge.ProtobufMessages.Position.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { @@ -1520,10 +1951,6 @@ public final class ProtobufMessages { return this; } - private int bitField0_; - - private int trackerId_; - /** * int32 tracker_id = 1; * @@ -1559,8 +1986,6 @@ public final class ProtobufMessages { return this; } - private float x_; - /** * float x = 2; * @@ -1606,8 +2031,6 @@ public final class ProtobufMessages { return this; } - private float y_; - /** * float y = 3; * @@ -1653,8 +2076,6 @@ public final class ProtobufMessages { return this; } - private float z_; - /** * float z = 4; * @@ -1700,8 +2121,6 @@ public final class ProtobufMessages { return this; } - private float qx_; - /** * float qx = 5; * @@ -1737,8 +2156,6 @@ public final class ProtobufMessages { return this; } - private float qy_; - /** * float qy = 6; * @@ -1774,8 +2191,6 @@ public final class ProtobufMessages { return this; } - private float qz_; - /** * float qz = 7; * @@ -1811,8 +2226,6 @@ public final class ProtobufMessages { return this; } - private float qw_; - /** * float qw = 8; * @@ -1848,8 +2261,6 @@ public final class ProtobufMessages { return this; } - private int dataSource_ = 0; - /** * .messages.Position.DataSource data_source = 9; * @@ -1935,105 +2346,8 @@ public final class ProtobufMessages { return super.mergeUnknownFields(unknownFields); } - // @@protoc_insertion_point(builder_scope:messages.Position) } - - // @@protoc_insertion_point(class_scope:messages.Position) - private static final dev.slimevr.bridge.ProtobufMessages.Position DEFAULT_INSTANCE; - - static { - DEFAULT_INSTANCE = new dev.slimevr.bridge.ProtobufMessages.Position(); - } - - public static dev.slimevr.bridge.ProtobufMessages.Position getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public Position parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new Position(input, extensionRegistry); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public dev.slimevr.bridge.ProtobufMessages.Position getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface UserActionOrBuilder extends - // @@protoc_insertion_point(interface_extends:messages.UserAction) - com.google.protobuf.MessageOrBuilder { - - /** - * string name = 1; - * - * @return The name. - */ - java.lang.String getName(); - - /** - * string name = 1; - * - * @return The bytes for name. - */ - com.google.protobuf.ByteString - getNameBytes(); - - /** - * map<string, string> action_arguments = 2; - */ - int getActionArgumentsCount(); - - /** - * map<string, string> action_arguments = 2; - */ - boolean containsActionArguments( - java.lang.String key); - - /** - * Use {@link #getActionArgumentsMap()} instead. - */ - @java.lang.Deprecated - java.util.Map - getActionArguments(); - - /** - * map<string, string> action_arguments = 2; - */ - java.util.Map - getActionArgumentsMap(); - - /** - * map<string, string> action_arguments = 2; - */ - - java.lang.String getActionArgumentsOrDefault( - java.lang.String key, - java.lang.String defaultValue); - - /** - * map<string, string> action_arguments = 2; - */ - - java.lang.String getActionArgumentsOrThrow( - java.lang.String key); } /** @@ -2043,30 +2357,39 @@ public final class ProtobufMessages { com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:messages.UserAction) UserActionOrBuilder { + public static final int NAME_FIELD_NUMBER = 1; + public static final int ACTION_ARGUMENTS_FIELD_NUMBER = 2; private static final long serialVersionUID = 0L; + // @@protoc_insertion_point(class_scope:messages.UserAction) + private static final dev.slimevr.bridge.ProtobufMessages.UserAction DEFAULT_INSTANCE; + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public UserAction parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new UserAction(input, extensionRegistry); + } + }; + + static { + DEFAULT_INSTANCE = new dev.slimevr.bridge.ProtobufMessages.UserAction(); + } + + private volatile java.lang.Object name_; + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> actionArguments_; + private byte memoizedIsInitialized = -1; // Use UserAction.newBuilder() to construct. private UserAction(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private UserAction() { name_ = ""; } - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new UserAction(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private UserAction( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) @@ -2130,252 +2453,6 @@ public final class ProtobufMessages { return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_UserAction_descriptor; } - @SuppressWarnings({"rawtypes"}) - @java.lang.Override - protected com.google.protobuf.MapField internalGetMapField( - int number) { - switch (number) { - case 2: - return internalGetActionArguments(); - default: - throw new RuntimeException( - "Invalid map field number: " + number); - } - } - - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_UserAction_fieldAccessorTable - .ensureFieldAccessorsInitialized( - dev.slimevr.bridge.ProtobufMessages.UserAction.class, dev.slimevr.bridge.ProtobufMessages.UserAction.Builder.class); - } - - public static final int NAME_FIELD_NUMBER = 1; - private volatile java.lang.Object name_; - - /** - * string name = 1; - * - * @return The name. - */ - @java.lang.Override - public java.lang.String getName() { - java.lang.Object ref = name_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - name_ = s; - return s; - } - } - - /** - * string name = 1; - * - * @return The bytes for name. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getNameBytes() { - java.lang.Object ref = name_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - name_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int ACTION_ARGUMENTS_FIELD_NUMBER = 2; - - private static final class ActionArgumentsDefaultEntryHolder { - static final com.google.protobuf.MapEntry< - java.lang.String, java.lang.String> defaultEntry = - com.google.protobuf.MapEntry - .newDefaultInstance( - dev.slimevr.bridge.ProtobufMessages.internal_static_messages_UserAction_ActionArgumentsEntry_descriptor, - com.google.protobuf.WireFormat.FieldType.STRING, - "", - com.google.protobuf.WireFormat.FieldType.STRING, - ""); - } - - private com.google.protobuf.MapField< - java.lang.String, java.lang.String> actionArguments_; - - private com.google.protobuf.MapField - internalGetActionArguments() { - if (actionArguments_ == null) { - return com.google.protobuf.MapField.emptyMapField( - ActionArgumentsDefaultEntryHolder.defaultEntry); - } - return actionArguments_; - } - - @Override - public int getActionArgumentsCount() { - return internalGetActionArguments().getMap().size(); - } - - /** - * map<string, string> action_arguments = 2; - */ - - @java.lang.Override - public boolean containsActionArguments( - java.lang.String key) { - if (key == null) { - throw new java.lang.NullPointerException(); - } - return internalGetActionArguments().getMap().containsKey(key); - } - - /** - * Use {@link #getActionArgumentsMap()} instead. - */ - @java.lang.Override - @java.lang.Deprecated - public java.util.Map getActionArguments() { - return getActionArgumentsMap(); - } - - /** - * map<string, string> action_arguments = 2; - */ - @java.lang.Override - - public java.util.Map getActionArgumentsMap() { - return internalGetActionArguments().getMap(); - } - - /** - * map<string, string> action_arguments = 2; - */ - @java.lang.Override - - public java.lang.String getActionArgumentsOrDefault( - java.lang.String key, - java.lang.String defaultValue) { - if (key == null) { - throw new java.lang.NullPointerException(); - } - java.util.Map map = - internalGetActionArguments().getMap(); - return map.containsKey(key) ? map.get(key) : defaultValue; - } - - /** - * map<string, string> action_arguments = 2; - */ - @java.lang.Override - - public java.lang.String getActionArgumentsOrThrow( - java.lang.String key) { - if (key == null) { - throw new java.lang.NullPointerException(); - } - java.util.Map map = - internalGetActionArguments().getMap(); - if (!map.containsKey(key)) { - throw new java.lang.IllegalArgumentException(); - } - return map.get(key); - } - - private byte memoizedIsInitialized = -1; - - @java.lang.Override - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized == 1) return true; - if (isInitialized == 0) return false; - - memoizedIsInitialized = 1; - return true; - } - - @java.lang.Override - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - if (!getNameBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_); - } - com.google.protobuf.GeneratedMessageV3 - .serializeStringMapTo( - output, - internalGetActionArguments(), - ActionArgumentsDefaultEntryHolder.defaultEntry, - 2); - unknownFields.writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (!getNameBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_); - } - for (java.util.Map.Entry entry - : internalGetActionArguments().getMap().entrySet()) { - com.google.protobuf.MapEntry - actionArguments__ = ActionArgumentsDefaultEntryHolder.defaultEntry.newBuilderForType() - .setKey(entry.getKey()) - .setValue(entry.getValue()) - .build(); - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, actionArguments__); - } - size += unknownFields.getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof dev.slimevr.bridge.ProtobufMessages.UserAction)) { - return super.equals(obj); - } - dev.slimevr.bridge.ProtobufMessages.UserAction other = (dev.slimevr.bridge.ProtobufMessages.UserAction) obj; - - if (!getName() - .equals(other.getName())) return false; - if (!internalGetActionArguments().equals( - other.internalGetActionArguments())) return false; - if (!unknownFields.equals(other.unknownFields)) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + NAME_FIELD_NUMBER; - hash = (53 * hash) + getName().hashCode(); - if (!internalGetActionArguments().getMap().isEmpty()) { - hash = (37 * hash) + ACTION_ARGUMENTS_FIELD_NUMBER; - hash = (53 * hash) + internalGetActionArguments().hashCode(); - } - hash = (29 * hash) + unknownFields.hashCode(); - memoizedHashCode = hash; - return hash; - } - public static dev.slimevr.bridge.ProtobufMessages.UserAction parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { @@ -2457,11 +2534,6 @@ public final class ProtobufMessages { .parseWithIOException(PARSER, input, extensionRegistry); } - @java.lang.Override - public Builder newBuilderForType() { - return newBuilder(); - } - public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } @@ -2470,6 +2542,255 @@ public final class ProtobufMessages { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } + public static dev.slimevr.bridge.ProtobufMessages.UserAction getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new UserAction(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + + @SuppressWarnings({"rawtypes"}) + @java.lang.Override + protected com.google.protobuf.MapField internalGetMapField( + int number) { + switch (number) { + case 2: + return internalGetActionArguments(); + default: + throw new RuntimeException( + "Invalid map field number: " + number); + } + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_UserAction_fieldAccessorTable + .ensureFieldAccessorsInitialized( + dev.slimevr.bridge.ProtobufMessages.UserAction.class, dev.slimevr.bridge.ProtobufMessages.UserAction.Builder.class); + } + + /** + * string name = 1; + * + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + + /** + * string name = 1; + * + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private com.google.protobuf.MapField + internalGetActionArguments() { + if (actionArguments_ == null) { + return com.google.protobuf.MapField.emptyMapField( + ActionArgumentsDefaultEntryHolder.defaultEntry); + } + return actionArguments_; + } + + @Override + public int getActionArgumentsCount() { + return internalGetActionArguments().getMap().size(); + } + + /** + * map<string, string> action_arguments = 2; + */ + + @java.lang.Override + public boolean containsActionArguments( + java.lang.String key) { + if (key == null) { + throw new java.lang.NullPointerException(); + } + return internalGetActionArguments().getMap().containsKey(key); + } + + /** + * Use {@link #getActionArgumentsMap()} instead. + */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getActionArguments() { + return getActionArgumentsMap(); + } + + /** + * map<string, string> action_arguments = 2; + */ + @java.lang.Override + + public java.util.Map getActionArgumentsMap() { + return internalGetActionArguments().getMap(); + } + + /** + * map<string, string> action_arguments = 2; + */ + @java.lang.Override + + public java.lang.String getActionArgumentsOrDefault( + java.lang.String key, + java.lang.String defaultValue) { + if (key == null) { + throw new java.lang.NullPointerException(); + } + java.util.Map map = + internalGetActionArguments().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + + /** + * map<string, string> action_arguments = 2; + */ + @java.lang.Override + + public java.lang.String getActionArgumentsOrThrow( + java.lang.String key) { + if (key == null) { + throw new java.lang.NullPointerException(); + } + java.util.Map map = + internalGetActionArguments().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!getNameBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_); + } + com.google.protobuf.GeneratedMessageV3 + .serializeStringMapTo( + output, + internalGetActionArguments(), + ActionArgumentsDefaultEntryHolder.defaultEntry, + 2); + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!getNameBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_); + } + for (java.util.Map.Entry entry + : internalGetActionArguments().getMap().entrySet()) { + com.google.protobuf.MapEntry + actionArguments__ = ActionArgumentsDefaultEntryHolder.defaultEntry.newBuilderForType() + .setKey(entry.getKey()) + .setValue(entry.getValue()) + .build(); + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, actionArguments__); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof dev.slimevr.bridge.ProtobufMessages.UserAction)) { + return super.equals(obj); + } + dev.slimevr.bridge.ProtobufMessages.UserAction other = (dev.slimevr.bridge.ProtobufMessages.UserAction) obj; + + if (!getName() + .equals(other.getName())) return false; + if (!internalGetActionArguments().equals( + other.internalGetActionArguments())) return false; + return unknownFields.equals(other.unknownFields); + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + if (!internalGetActionArguments().getMap().isEmpty()) { + hash = (37 * hash) + ACTION_ARGUMENTS_FIELD_NUMBER; + hash = (53 * hash) + internalGetActionArguments().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE @@ -2483,6 +2804,28 @@ public final class ProtobufMessages { return builder; } + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public dev.slimevr.bridge.ProtobufMessages.UserAction getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + private static final class ActionArgumentsDefaultEntryHolder { + static final com.google.protobuf.MapEntry< + java.lang.String, java.lang.String> defaultEntry = + com.google.protobuf.MapEntry + .newDefaultInstance( + dev.slimevr.bridge.ProtobufMessages.internal_static_messages_UserAction_ActionArgumentsEntry_descriptor, + com.google.protobuf.WireFormat.FieldType.STRING, + "", + com.google.protobuf.WireFormat.FieldType.STRING, + ""); + } + /** * Protobuf type {@code messages.UserAction} */ @@ -2490,6 +2833,22 @@ public final class ProtobufMessages { com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:messages.UserAction) dev.slimevr.bridge.ProtobufMessages.UserActionOrBuilder { + private int bitField0_; + private java.lang.Object name_ = ""; + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> actionArguments_; + + // Construct using dev.slimevr.bridge.ProtobufMessages.UserAction.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_UserAction_descriptor; @@ -2529,17 +2888,6 @@ public final class ProtobufMessages { dev.slimevr.bridge.ProtobufMessages.UserAction.class, dev.slimevr.bridge.ProtobufMessages.UserAction.Builder.class); } - // Construct using dev.slimevr.bridge.ProtobufMessages.UserAction.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { @@ -2671,10 +3019,6 @@ public final class ProtobufMessages { return this; } - private int bitField0_; - - private java.lang.Object name_ = ""; - /** * string name = 1; * @@ -2694,6 +3038,23 @@ public final class ProtobufMessages { } } + /** + * string name = 1; + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + name_ = value; + onChanged(); + return this; + } + /** * string name = 1; * @@ -2717,14 +3078,15 @@ public final class ProtobufMessages { /** * string name = 1; * - * @param value The name to set. + * @param value The bytes for name to set. * @return This builder for chaining. */ - public Builder setName( - java.lang.String value) { + public Builder setNameBytes( + com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); name_ = value; onChanged(); @@ -2743,27 +3105,6 @@ public final class ProtobufMessages { return this; } - /** - * string name = 1; - * - * @param value The bytes for name to set. - * @return This builder for chaining. - */ - public Builder setNameBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - name_ = value; - onChanged(); - return this; - } - - private com.google.protobuf.MapField< - java.lang.String, java.lang.String> actionArguments_; - private com.google.protobuf.MapField internalGetActionArguments() { if (actionArguments_ == null) { @@ -2925,95 +3266,8 @@ public final class ProtobufMessages { return super.mergeUnknownFields(unknownFields); } - // @@protoc_insertion_point(builder_scope:messages.UserAction) } - - // @@protoc_insertion_point(class_scope:messages.UserAction) - private static final dev.slimevr.bridge.ProtobufMessages.UserAction DEFAULT_INSTANCE; - - static { - DEFAULT_INSTANCE = new dev.slimevr.bridge.ProtobufMessages.UserAction(); - } - - public static dev.slimevr.bridge.ProtobufMessages.UserAction getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public UserAction parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new UserAction(input, extensionRegistry); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public dev.slimevr.bridge.ProtobufMessages.UserAction getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface TrackerAddedOrBuilder extends - // @@protoc_insertion_point(interface_extends:messages.TrackerAdded) - com.google.protobuf.MessageOrBuilder { - - /** - * int32 tracker_id = 1; - * - * @return The trackerId. - */ - int getTrackerId(); - - /** - * string tracker_serial = 2; - * - * @return The trackerSerial. - */ - java.lang.String getTrackerSerial(); - - /** - * string tracker_serial = 2; - * - * @return The bytes for trackerSerial. - */ - com.google.protobuf.ByteString - getTrackerSerialBytes(); - - /** - * string tracker_name = 3; - * - * @return The trackerName. - */ - java.lang.String getTrackerName(); - - /** - * string tracker_name = 3; - * - * @return The bytes for trackerName. - */ - com.google.protobuf.ByteString - getTrackerNameBytes(); - - /** - * int32 tracker_role = 4; - * - * @return The trackerRole. - */ - int getTrackerRole(); } /** @@ -3023,7 +3277,33 @@ public final class ProtobufMessages { com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:messages.TrackerAdded) TrackerAddedOrBuilder { + public static final int TRACKER_ID_FIELD_NUMBER = 1; + public static final int TRACKER_SERIAL_FIELD_NUMBER = 2; + public static final int TRACKER_NAME_FIELD_NUMBER = 3; + public static final int TRACKER_ROLE_FIELD_NUMBER = 4; private static final long serialVersionUID = 0L; + // @@protoc_insertion_point(class_scope:messages.TrackerAdded) + private static final dev.slimevr.bridge.ProtobufMessages.TrackerAdded DEFAULT_INSTANCE; + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public TrackerAdded parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new TrackerAdded(input, extensionRegistry); + } + }; + + static { + DEFAULT_INSTANCE = new dev.slimevr.bridge.ProtobufMessages.TrackerAdded(); + } + + private int trackerId_; + private volatile java.lang.Object trackerSerial_; + private volatile java.lang.Object trackerName_; + private int trackerRole_; + private byte memoizedIsInitialized = -1; // Use TrackerAdded.newBuilder() to construct. private TrackerAdded(com.google.protobuf.GeneratedMessageV3.Builder builder) { @@ -3035,19 +3315,6 @@ public final class ProtobufMessages { trackerName_ = ""; } - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new TrackerAdded(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private TrackerAdded( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) @@ -3113,221 +3380,6 @@ public final class ProtobufMessages { return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_TrackerAdded_descriptor; } - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internalGetFieldAccessorTable() { - return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_TrackerAdded_fieldAccessorTable - .ensureFieldAccessorsInitialized( - dev.slimevr.bridge.ProtobufMessages.TrackerAdded.class, dev.slimevr.bridge.ProtobufMessages.TrackerAdded.Builder.class); - } - - public static final int TRACKER_ID_FIELD_NUMBER = 1; - private int trackerId_; - - /** - * int32 tracker_id = 1; - * - * @return The trackerId. - */ - @java.lang.Override - public int getTrackerId() { - return trackerId_; - } - - public static final int TRACKER_SERIAL_FIELD_NUMBER = 2; - private volatile java.lang.Object trackerSerial_; - - /** - * string tracker_serial = 2; - * - * @return The trackerSerial. - */ - @java.lang.Override - public java.lang.String getTrackerSerial() { - java.lang.Object ref = trackerSerial_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - trackerSerial_ = s; - return s; - } - } - - /** - * string tracker_serial = 2; - * - * @return The bytes for trackerSerial. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getTrackerSerialBytes() { - java.lang.Object ref = trackerSerial_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - trackerSerial_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int TRACKER_NAME_FIELD_NUMBER = 3; - private volatile java.lang.Object trackerName_; - - /** - * string tracker_name = 3; - * - * @return The trackerName. - */ - @java.lang.Override - public java.lang.String getTrackerName() { - java.lang.Object ref = trackerName_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - trackerName_ = s; - return s; - } - } - - /** - * string tracker_name = 3; - * - * @return The bytes for trackerName. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getTrackerNameBytes() { - java.lang.Object ref = trackerName_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - trackerName_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int TRACKER_ROLE_FIELD_NUMBER = 4; - private int trackerRole_; - - /** - * int32 tracker_role = 4; - * - * @return The trackerRole. - */ - @java.lang.Override - public int getTrackerRole() { - return trackerRole_; - } - - private byte memoizedIsInitialized = -1; - - @java.lang.Override - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized == 1) return true; - if (isInitialized == 0) return false; - - memoizedIsInitialized = 1; - return true; - } - - @java.lang.Override - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - if (trackerId_ != 0) { - output.writeInt32(1, trackerId_); - } - if (!getTrackerSerialBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 2, trackerSerial_); - } - if (!getTrackerNameBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 3, trackerName_); - } - if (trackerRole_ != 0) { - output.writeInt32(4, trackerRole_); - } - unknownFields.writeTo(output); - } - - @java.lang.Override - public int getSerializedSize() { - int size = memoizedSize; - if (size != -1) return size; - - size = 0; - if (trackerId_ != 0) { - size += com.google.protobuf.CodedOutputStream - .computeInt32Size(1, trackerId_); - } - if (!getTrackerSerialBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, trackerSerial_); - } - if (!getTrackerNameBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, trackerName_); - } - if (trackerRole_ != 0) { - size += com.google.protobuf.CodedOutputStream - .computeInt32Size(4, trackerRole_); - } - size += unknownFields.getSerializedSize(); - memoizedSize = size; - return size; - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof dev.slimevr.bridge.ProtobufMessages.TrackerAdded)) { - return super.equals(obj); - } - dev.slimevr.bridge.ProtobufMessages.TrackerAdded other = (dev.slimevr.bridge.ProtobufMessages.TrackerAdded) obj; - - if (getTrackerId() - != other.getTrackerId()) return false; - if (!getTrackerSerial() - .equals(other.getTrackerSerial())) return false; - if (!getTrackerName() - .equals(other.getTrackerName())) return false; - if (getTrackerRole() - != other.getTrackerRole()) return false; - if (!unknownFields.equals(other.unknownFields)) return false; - return true; - } - - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + TRACKER_ID_FIELD_NUMBER; - hash = (53 * hash) + getTrackerId(); - hash = (37 * hash) + TRACKER_SERIAL_FIELD_NUMBER; - hash = (53 * hash) + getTrackerSerial().hashCode(); - hash = (37 * hash) + TRACKER_NAME_FIELD_NUMBER; - hash = (53 * hash) + getTrackerName().hashCode(); - hash = (37 * hash) + TRACKER_ROLE_FIELD_NUMBER; - hash = (53 * hash) + getTrackerRole(); - hash = (29 * hash) + unknownFields.hashCode(); - memoizedHashCode = hash; - return hash; - } - public static dev.slimevr.bridge.ProtobufMessages.TrackerAdded parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { @@ -3409,11 +3461,6 @@ public final class ProtobufMessages { .parseWithIOException(PARSER, input, extensionRegistry); } - @java.lang.Override - public Builder newBuilderForType() { - return newBuilder(); - } - public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } @@ -3422,6 +3469,232 @@ public final class ProtobufMessages { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } + public static dev.slimevr.bridge.ProtobufMessages.TrackerAdded getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new TrackerAdded(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_TrackerAdded_fieldAccessorTable + .ensureFieldAccessorsInitialized( + dev.slimevr.bridge.ProtobufMessages.TrackerAdded.class, dev.slimevr.bridge.ProtobufMessages.TrackerAdded.Builder.class); + } + + /** + * int32 tracker_id = 1; + * + * @return The trackerId. + */ + @java.lang.Override + public int getTrackerId() { + return trackerId_; + } + + /** + * string tracker_serial = 2; + * + * @return The trackerSerial. + */ + @java.lang.Override + public java.lang.String getTrackerSerial() { + java.lang.Object ref = trackerSerial_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + trackerSerial_ = s; + return s; + } + } + + /** + * string tracker_serial = 2; + * + * @return The bytes for trackerSerial. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getTrackerSerialBytes() { + java.lang.Object ref = trackerSerial_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + trackerSerial_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * string tracker_name = 3; + * + * @return The trackerName. + */ + @java.lang.Override + public java.lang.String getTrackerName() { + java.lang.Object ref = trackerName_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + trackerName_ = s; + return s; + } + } + + /** + * string tracker_name = 3; + * + * @return The bytes for trackerName. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getTrackerNameBytes() { + java.lang.Object ref = trackerName_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + trackerName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * int32 tracker_role = 4; + * + * @return The trackerRole. + */ + @java.lang.Override + public int getTrackerRole() { + return trackerRole_; + } + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (trackerId_ != 0) { + output.writeInt32(1, trackerId_); + } + if (!getTrackerSerialBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, trackerSerial_); + } + if (!getTrackerNameBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, trackerName_); + } + if (trackerRole_ != 0) { + output.writeInt32(4, trackerRole_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (trackerId_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(1, trackerId_); + } + if (!getTrackerSerialBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, trackerSerial_); + } + if (!getTrackerNameBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, trackerName_); + } + if (trackerRole_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(4, trackerRole_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof dev.slimevr.bridge.ProtobufMessages.TrackerAdded)) { + return super.equals(obj); + } + dev.slimevr.bridge.ProtobufMessages.TrackerAdded other = (dev.slimevr.bridge.ProtobufMessages.TrackerAdded) obj; + + if (getTrackerId() + != other.getTrackerId()) return false; + if (!getTrackerSerial() + .equals(other.getTrackerSerial())) return false; + if (!getTrackerName() + .equals(other.getTrackerName())) return false; + if (getTrackerRole() + != other.getTrackerRole()) return false; + return unknownFields.equals(other.unknownFields); + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + TRACKER_ID_FIELD_NUMBER; + hash = (53 * hash) + getTrackerId(); + hash = (37 * hash) + TRACKER_SERIAL_FIELD_NUMBER; + hash = (53 * hash) + getTrackerSerial().hashCode(); + hash = (37 * hash) + TRACKER_NAME_FIELD_NUMBER; + hash = (53 * hash) + getTrackerName().hashCode(); + hash = (37 * hash) + TRACKER_ROLE_FIELD_NUMBER; + hash = (53 * hash) + getTrackerRole(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE @@ -3435,6 +3708,16 @@ public final class ProtobufMessages { return builder; } + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public dev.slimevr.bridge.ProtobufMessages.TrackerAdded getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + /** * Protobuf type {@code messages.TrackerAdded} */ @@ -3442,6 +3725,22 @@ public final class ProtobufMessages { com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:messages.TrackerAdded) dev.slimevr.bridge.ProtobufMessages.TrackerAddedOrBuilder { + private int trackerId_; + private java.lang.Object trackerSerial_ = ""; + private java.lang.Object trackerName_ = ""; + private int trackerRole_; + + // Construct using dev.slimevr.bridge.ProtobufMessages.TrackerAdded.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_TrackerAdded_descriptor; @@ -3455,17 +3754,6 @@ public final class ProtobufMessages { dev.slimevr.bridge.ProtobufMessages.TrackerAdded.class, dev.slimevr.bridge.ProtobufMessages.TrackerAdded.Builder.class); } - // Construct using dev.slimevr.bridge.ProtobufMessages.TrackerAdded.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { @@ -3610,8 +3898,6 @@ public final class ProtobufMessages { return this; } - private int trackerId_; - /** * int32 tracker_id = 1; * @@ -3647,8 +3933,6 @@ public final class ProtobufMessages { return this; } - private java.lang.Object trackerSerial_ = ""; - /** * string tracker_serial = 2; * @@ -3668,6 +3952,23 @@ public final class ProtobufMessages { } } + /** + * string tracker_serial = 2; + * + * @param value The trackerSerial to set. + * @return This builder for chaining. + */ + public Builder setTrackerSerial( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + trackerSerial_ = value; + onChanged(); + return this; + } + /** * string tracker_serial = 2; * @@ -3691,14 +3992,15 @@ public final class ProtobufMessages { /** * string tracker_serial = 2; * - * @param value The trackerSerial to set. + * @param value The bytes for trackerSerial to set. * @return This builder for chaining. */ - public Builder setTrackerSerial( - java.lang.String value) { + public Builder setTrackerSerialBytes( + com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); trackerSerial_ = value; onChanged(); @@ -3717,26 +4019,6 @@ public final class ProtobufMessages { return this; } - /** - * string tracker_serial = 2; - * - * @param value The bytes for trackerSerial to set. - * @return This builder for chaining. - */ - public Builder setTrackerSerialBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - trackerSerial_ = value; - onChanged(); - return this; - } - - private java.lang.Object trackerName_ = ""; - /** * string tracker_name = 3; * @@ -3756,6 +4038,23 @@ public final class ProtobufMessages { } } + /** + * string tracker_name = 3; + * + * @param value The trackerName to set. + * @return This builder for chaining. + */ + public Builder setTrackerName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + trackerName_ = value; + onChanged(); + return this; + } + /** * string tracker_name = 3; * @@ -3779,14 +4078,15 @@ public final class ProtobufMessages { /** * string tracker_name = 3; * - * @param value The trackerName to set. + * @param value The bytes for trackerName to set. * @return This builder for chaining. */ - public Builder setTrackerName( - java.lang.String value) { + public Builder setTrackerNameBytes( + com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); trackerName_ = value; onChanged(); @@ -3805,26 +4105,6 @@ public final class ProtobufMessages { return this; } - /** - * string tracker_name = 3; - * - * @param value The bytes for trackerName to set. - * @return This builder for chaining. - */ - public Builder setTrackerNameBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - trackerName_ = value; - onChanged(); - return this; - } - - private int trackerRole_; - /** * int32 tracker_role = 4; * @@ -3872,132 +4152,8 @@ public final class ProtobufMessages { return super.mergeUnknownFields(unknownFields); } - // @@protoc_insertion_point(builder_scope:messages.TrackerAdded) } - - // @@protoc_insertion_point(class_scope:messages.TrackerAdded) - private static final dev.slimevr.bridge.ProtobufMessages.TrackerAdded DEFAULT_INSTANCE; - - static { - DEFAULT_INSTANCE = new dev.slimevr.bridge.ProtobufMessages.TrackerAdded(); - } - - public static dev.slimevr.bridge.ProtobufMessages.TrackerAdded getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public TrackerAdded parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new TrackerAdded(input, extensionRegistry); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public dev.slimevr.bridge.ProtobufMessages.TrackerAdded getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface TrackerStatusOrBuilder extends - // @@protoc_insertion_point(interface_extends:messages.TrackerStatus) - com.google.protobuf.MessageOrBuilder { - - /** - * int32 tracker_id = 1; - * - * @return The trackerId. - */ - int getTrackerId(); - - /** - * .messages.TrackerStatus.Status status = 2; - * - * @return The enum numeric value on the wire for status. - */ - int getStatusValue(); - - /** - * .messages.TrackerStatus.Status status = 2; - * - * @return The status. - */ - dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Status getStatus(); - - /** - * map<string, string> extra = 3; - */ - int getExtraCount(); - - /** - * map<string, string> extra = 3; - */ - boolean containsExtra( - java.lang.String key); - - /** - * Use {@link #getExtraMap()} instead. - */ - @java.lang.Deprecated - java.util.Map - getExtra(); - - /** - * map<string, string> extra = 3; - */ - java.util.Map - getExtraMap(); - - /** - * map<string, string> extra = 3; - */ - - java.lang.String getExtraOrDefault( - java.lang.String key, - java.lang.String defaultValue); - - /** - * map<string, string> extra = 3; - */ - - java.lang.String getExtraOrThrow( - java.lang.String key); - - /** - * .messages.TrackerStatus.Confidence confidence = 4; - * - * @return Whether the confidence field is set. - */ - boolean hasConfidence(); - - /** - * .messages.TrackerStatus.Confidence confidence = 4; - * - * @return The enum numeric value on the wire for confidence. - */ - int getConfidenceValue(); - - /** - * .messages.TrackerStatus.Confidence confidence = 4; - * - * @return The confidence. - */ - dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Confidence getConfidence(); } /** @@ -4007,7 +4163,35 @@ public final class ProtobufMessages { com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:messages.TrackerStatus) TrackerStatusOrBuilder { + public static final int TRACKER_ID_FIELD_NUMBER = 1; + public static final int STATUS_FIELD_NUMBER = 2; + public static final int EXTRA_FIELD_NUMBER = 3; + public static final int CONFIDENCE_FIELD_NUMBER = 4; private static final long serialVersionUID = 0L; + // @@protoc_insertion_point(class_scope:messages.TrackerStatus) + private static final dev.slimevr.bridge.ProtobufMessages.TrackerStatus DEFAULT_INSTANCE; + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public TrackerStatus parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new TrackerStatus(input, extensionRegistry); + } + }; + + static { + DEFAULT_INSTANCE = new dev.slimevr.bridge.ProtobufMessages.TrackerStatus(); + } + + private int bitField0_; + private int trackerId_; + private int status_; + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> extra_; + private int confidence_; + private byte memoizedIsInitialized = -1; // Use TrackerStatus.newBuilder() to construct. private TrackerStatus(com.google.protobuf.GeneratedMessageV3.Builder builder) { @@ -4018,20 +4202,6 @@ public final class ProtobufMessages { status_ = 0; confidence_ = 0; } - - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new TrackerStatus(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private TrackerStatus( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) @@ -4106,6 +4276,116 @@ public final class ProtobufMessages { return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_TrackerStatus_descriptor; } + public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(dev.slimevr.bridge.ProtobufMessages.TrackerStatus prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new TrackerStatus(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + @SuppressWarnings({"rawtypes"}) @java.lang.Override protected com.google.protobuf.MapField internalGetMapField( @@ -4127,296 +4407,6 @@ public final class ProtobufMessages { dev.slimevr.bridge.ProtobufMessages.TrackerStatus.class, dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Builder.class); } - /** - * Protobuf enum {@code messages.TrackerStatus.Status} - */ - public enum Status - implements com.google.protobuf.ProtocolMessageEnum { - /** - * DISCONNECTED = 0; - */ - DISCONNECTED(0), - /** - * OK = 1; - */ - OK(1), - /** - * BUSY = 2; - */ - BUSY(2), - /** - * ERROR = 3; - */ - ERROR(3), - /** - * OCCLUDED = 4; - */ - OCCLUDED(4), - UNRECOGNIZED(-1), - ; - - /** - * DISCONNECTED = 0; - */ - public static final int DISCONNECTED_VALUE = 0; - /** - * OK = 1; - */ - public static final int OK_VALUE = 1; - /** - * BUSY = 2; - */ - public static final int BUSY_VALUE = 2; - /** - * ERROR = 3; - */ - public static final int ERROR_VALUE = 3; - /** - * OCCLUDED = 4; - */ - public static final int OCCLUDED_VALUE = 4; - - - @Override - public final int getNumber() { - if (this == UNRECOGNIZED) { - throw new java.lang.IllegalArgumentException( - "Can't get the number of an unknown enum value."); - } - return value; - } - - /** - * @param value The numeric wire value of the corresponding enum entry. - * @return The enum associated with the given numeric wire value. - * @deprecated Use {@link #forNumber(int)} instead. - */ - @java.lang.Deprecated - public static Status valueOf(int value) { - return forNumber(value); - } - - /** - * @param value The numeric wire value of the corresponding enum entry. - * @return The enum associated with the given numeric wire value. - */ - public static Status forNumber(int value) { - switch (value) { - case 0: - return DISCONNECTED; - case 1: - return OK; - case 2: - return BUSY; - case 3: - return ERROR; - case 4: - return OCCLUDED; - default: - return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - - private static final com.google.protobuf.Internal.EnumLiteMap< - Status> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - @Override - public Status findValueByNumber(int number) { - return Status.forNumber(number); - } - }; - - @Override - public final com.google.protobuf.Descriptors.EnumValueDescriptor - getValueDescriptor() { - if (this == UNRECOGNIZED) { - throw new java.lang.IllegalStateException( - "Can't get the descriptor of an unrecognized enum value."); - } - return getDescriptor().getValues().get(ordinal()); - } - - @Override - public final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptorForType() { - return getDescriptor(); - } - - public static final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return dev.slimevr.bridge.ProtobufMessages.TrackerStatus.getDescriptor().getEnumTypes().get(0); - } - - private static final Status[] VALUES = values(); - - public static Status valueOf( - com.google.protobuf.Descriptors.EnumValueDescriptor desc) { - if (desc.getType() != getDescriptor()) { - throw new java.lang.IllegalArgumentException( - "EnumValueDescriptor is not for this type."); - } - if (desc.getIndex() == -1) { - return UNRECOGNIZED; - } - return VALUES[desc.getIndex()]; - } - - private final int value; - - private Status(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:messages.TrackerStatus.Status) - } - - /** - * Protobuf enum {@code messages.TrackerStatus.Confidence} - */ - public enum Confidence - implements com.google.protobuf.ProtocolMessageEnum { - /** - * NO = 0; - */ - NO(0), - /** - * LOW = 1; - */ - LOW(1), - /** - * MEDIUM = 5; - */ - MEDIUM(5), - /** - * HIGH = 10; - */ - HIGH(10), - UNRECOGNIZED(-1), - ; - - /** - * NO = 0; - */ - public static final int NO_VALUE = 0; - /** - * LOW = 1; - */ - public static final int LOW_VALUE = 1; - /** - * MEDIUM = 5; - */ - public static final int MEDIUM_VALUE = 5; - /** - * HIGH = 10; - */ - public static final int HIGH_VALUE = 10; - - - @Override - public final int getNumber() { - if (this == UNRECOGNIZED) { - throw new java.lang.IllegalArgumentException( - "Can't get the number of an unknown enum value."); - } - return value; - } - - /** - * @param value The numeric wire value of the corresponding enum entry. - * @return The enum associated with the given numeric wire value. - * @deprecated Use {@link #forNumber(int)} instead. - */ - @java.lang.Deprecated - public static Confidence valueOf(int value) { - return forNumber(value); - } - - /** - * @param value The numeric wire value of the corresponding enum entry. - * @return The enum associated with the given numeric wire value. - */ - public static Confidence forNumber(int value) { - switch (value) { - case 0: - return NO; - case 1: - return LOW; - case 5: - return MEDIUM; - case 10: - return HIGH; - default: - return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - - private static final com.google.protobuf.Internal.EnumLiteMap< - Confidence> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - @Override - public Confidence findValueByNumber(int number) { - return Confidence.forNumber(number); - } - }; - - @Override - public final com.google.protobuf.Descriptors.EnumValueDescriptor - getValueDescriptor() { - if (this == UNRECOGNIZED) { - throw new java.lang.IllegalStateException( - "Can't get the descriptor of an unrecognized enum value."); - } - return getDescriptor().getValues().get(ordinal()); - } - - @Override - public final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptorForType() { - return getDescriptor(); - } - - public static final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return dev.slimevr.bridge.ProtobufMessages.TrackerStatus.getDescriptor().getEnumTypes().get(1); - } - - private static final Confidence[] VALUES = values(); - - public static Confidence valueOf( - com.google.protobuf.Descriptors.EnumValueDescriptor desc) { - if (desc.getType() != getDescriptor()) { - throw new java.lang.IllegalArgumentException( - "EnumValueDescriptor is not for this type."); - } - if (desc.getIndex() == -1) { - return UNRECOGNIZED; - } - return VALUES[desc.getIndex()]; - } - - private final int value; - - private Confidence(int value) { - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:messages.TrackerStatus.Confidence) - } - - private int bitField0_; - public static final int TRACKER_ID_FIELD_NUMBER = 1; - private int trackerId_; - /** * int32 tracker_id = 1; * @@ -4427,9 +4417,6 @@ public final class ProtobufMessages { return trackerId_; } - public static final int STATUS_FIELD_NUMBER = 2; - private int status_; - /** * .messages.TrackerStatus.Status status = 2; * @@ -4452,23 +4439,6 @@ public final class ProtobufMessages { return result == null ? dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Status.UNRECOGNIZED : result; } - public static final int EXTRA_FIELD_NUMBER = 3; - - private static final class ExtraDefaultEntryHolder { - static final com.google.protobuf.MapEntry< - java.lang.String, java.lang.String> defaultEntry = - com.google.protobuf.MapEntry - .newDefaultInstance( - dev.slimevr.bridge.ProtobufMessages.internal_static_messages_TrackerStatus_ExtraEntry_descriptor, - com.google.protobuf.WireFormat.FieldType.STRING, - "", - com.google.protobuf.WireFormat.FieldType.STRING, - ""); - } - - private com.google.protobuf.MapField< - java.lang.String, java.lang.String> extra_; - private com.google.protobuf.MapField internalGetExtra() { if (extra_ == null) { @@ -4548,9 +4518,6 @@ public final class ProtobufMessages { return map.get(key); } - public static final int CONFIDENCE_FIELD_NUMBER = 4; - private int confidence_; - /** * .messages.TrackerStatus.Confidence confidence = 4; * @@ -4583,8 +4550,6 @@ public final class ProtobufMessages { return result == null ? dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Confidence.UNRECOGNIZED : result; } - private byte memoizedIsInitialized = -1; - @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; @@ -4668,8 +4633,7 @@ public final class ProtobufMessages { if (hasConfidence()) { if (confidence_ != other.confidence_) return false; } - if (!unknownFields.equals(other.unknownFields)) return false; - return true; + return unknownFields.equals(other.unknownFields); } @java.lang.Override @@ -4696,100 +4660,11 @@ public final class ProtobufMessages { return hash; } - public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - - public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - - public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - - public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - - public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - - public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - - public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - - public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input); - } - - public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - - public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - - public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - - public static Builder newBuilder(dev.slimevr.bridge.ProtobufMessages.TrackerStatus prototype) { - return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); - } - @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE @@ -4803,6 +4678,306 @@ public final class ProtobufMessages { return builder; } + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public dev.slimevr.bridge.ProtobufMessages.TrackerStatus getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + /** + * Protobuf enum {@code messages.TrackerStatus.Status} + */ + public enum Status + implements com.google.protobuf.ProtocolMessageEnum { + /** + * DISCONNECTED = 0; + */ + DISCONNECTED(0), + /** + * OK = 1; + */ + OK(1), + /** + * BUSY = 2; + */ + BUSY(2), + /** + * ERROR = 3; + */ + ERROR(3), + /** + * OCCLUDED = 4; + */ + OCCLUDED(4), + UNRECOGNIZED(-1), + ; + + /** + * DISCONNECTED = 0; + */ + public static final int DISCONNECTED_VALUE = 0; + /** + * OK = 1; + */ + public static final int OK_VALUE = 1; + /** + * BUSY = 2; + */ + public static final int BUSY_VALUE = 2; + /** + * ERROR = 3; + */ + public static final int ERROR_VALUE = 3; + /** + * OCCLUDED = 4; + */ + public static final int OCCLUDED_VALUE = 4; + private static final com.google.protobuf.Internal.EnumLiteMap< + Status> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + @Override + public Status findValueByNumber(int number) { + return Status.forNumber(number); + } + }; + private static final Status[] VALUES = values(); + private final int value; + + Status(int value) { + this.value = value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static Status valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static Status forNumber(int value) { + switch (value) { + case 0: + return DISCONNECTED; + case 1: + return OK; + case 2: + return BUSY; + case 3: + return ERROR; + case 4: + return OCCLUDED; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return dev.slimevr.bridge.ProtobufMessages.TrackerStatus.getDescriptor().getEnumTypes().get(0); + } + + public static Status valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + @Override + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + @Override + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + @Override + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + + // @@protoc_insertion_point(enum_scope:messages.TrackerStatus.Status) + } + + /** + * Protobuf enum {@code messages.TrackerStatus.Confidence} + */ + public enum Confidence + implements com.google.protobuf.ProtocolMessageEnum { + /** + * NO = 0; + */ + NO(0), + /** + * LOW = 1; + */ + LOW(1), + /** + * MEDIUM = 5; + */ + MEDIUM(5), + /** + * HIGH = 10; + */ + HIGH(10), + UNRECOGNIZED(-1), + ; + + /** + * NO = 0; + */ + public static final int NO_VALUE = 0; + /** + * LOW = 1; + */ + public static final int LOW_VALUE = 1; + /** + * MEDIUM = 5; + */ + public static final int MEDIUM_VALUE = 5; + /** + * HIGH = 10; + */ + public static final int HIGH_VALUE = 10; + private static final com.google.protobuf.Internal.EnumLiteMap< + Confidence> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + @Override + public Confidence findValueByNumber(int number) { + return Confidence.forNumber(number); + } + }; + private static final Confidence[] VALUES = values(); + private final int value; + + Confidence(int value) { + this.value = value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static Confidence valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static Confidence forNumber(int value) { + switch (value) { + case 0: + return NO; + case 1: + return LOW; + case 5: + return MEDIUM; + case 10: + return HIGH; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return dev.slimevr.bridge.ProtobufMessages.TrackerStatus.getDescriptor().getEnumTypes().get(1); + } + + public static Confidence valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + @Override + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + @Override + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + @Override + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + + // @@protoc_insertion_point(enum_scope:messages.TrackerStatus.Confidence) + } + + private static final class ExtraDefaultEntryHolder { + static final com.google.protobuf.MapEntry< + java.lang.String, java.lang.String> defaultEntry = + com.google.protobuf.MapEntry + .newDefaultInstance( + dev.slimevr.bridge.ProtobufMessages.internal_static_messages_TrackerStatus_ExtraEntry_descriptor, + com.google.protobuf.WireFormat.FieldType.STRING, + "", + com.google.protobuf.WireFormat.FieldType.STRING, + ""); + } + /** * Protobuf type {@code messages.TrackerStatus} */ @@ -4810,6 +4985,24 @@ public final class ProtobufMessages { com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:messages.TrackerStatus) dev.slimevr.bridge.ProtobufMessages.TrackerStatusOrBuilder { + private int bitField0_; + private int trackerId_; + private int status_ = 0; + private com.google.protobuf.MapField< + java.lang.String, java.lang.String> extra_; + private int confidence_ = 0; + + // Construct using dev.slimevr.bridge.ProtobufMessages.TrackerStatus.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_TrackerStatus_descriptor; @@ -4849,17 +5042,6 @@ public final class ProtobufMessages { dev.slimevr.bridge.ProtobufMessages.TrackerStatus.class, dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Builder.class); } - // Construct using dev.slimevr.bridge.ProtobufMessages.TrackerStatus.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { @@ -5007,10 +5189,6 @@ public final class ProtobufMessages { return this; } - private int bitField0_; - - private int trackerId_; - /** * int32 tracker_id = 1; * @@ -5046,8 +5224,6 @@ public final class ProtobufMessages { return this; } - private int status_ = 0; - /** * .messages.TrackerStatus.Status status = 2; * @@ -5111,9 +5287,6 @@ public final class ProtobufMessages { return this; } - private com.google.protobuf.MapField< - java.lang.String, java.lang.String> extra_; - private com.google.protobuf.MapField internalGetExtra() { if (extra_ == null) { @@ -5263,8 +5436,6 @@ public final class ProtobufMessages { return this; } - private int confidence_ = 0; - /** * .messages.TrackerStatus.Confidence confidence = 4; * @@ -5350,129 +5521,8 @@ public final class ProtobufMessages { return super.mergeUnknownFields(unknownFields); } - // @@protoc_insertion_point(builder_scope:messages.TrackerStatus) } - - // @@protoc_insertion_point(class_scope:messages.TrackerStatus) - private static final dev.slimevr.bridge.ProtobufMessages.TrackerStatus DEFAULT_INSTANCE; - - static { - DEFAULT_INSTANCE = new dev.slimevr.bridge.ProtobufMessages.TrackerStatus(); - } - - public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public TrackerStatus parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new TrackerStatus(input, extensionRegistry); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public dev.slimevr.bridge.ProtobufMessages.TrackerStatus getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - public interface ProtobufMessageOrBuilder extends - // @@protoc_insertion_point(interface_extends:messages.ProtobufMessage) - com.google.protobuf.MessageOrBuilder { - - /** - * .messages.Position position = 1; - * - * @return Whether the position field is set. - */ - boolean hasPosition(); - - /** - * .messages.Position position = 1; - * - * @return The position. - */ - dev.slimevr.bridge.ProtobufMessages.Position getPosition(); - - /** - * .messages.Position position = 1; - */ - dev.slimevr.bridge.ProtobufMessages.PositionOrBuilder getPositionOrBuilder(); - - /** - * .messages.UserAction user_action = 2; - * - * @return Whether the userAction field is set. - */ - boolean hasUserAction(); - - /** - * .messages.UserAction user_action = 2; - * - * @return The userAction. - */ - dev.slimevr.bridge.ProtobufMessages.UserAction getUserAction(); - - /** - * .messages.UserAction user_action = 2; - */ - dev.slimevr.bridge.ProtobufMessages.UserActionOrBuilder getUserActionOrBuilder(); - - /** - * .messages.TrackerAdded tracker_added = 3; - * - * @return Whether the trackerAdded field is set. - */ - boolean hasTrackerAdded(); - - /** - * .messages.TrackerAdded tracker_added = 3; - * - * @return The trackerAdded. - */ - dev.slimevr.bridge.ProtobufMessages.TrackerAdded getTrackerAdded(); - - /** - * .messages.TrackerAdded tracker_added = 3; - */ - dev.slimevr.bridge.ProtobufMessages.TrackerAddedOrBuilder getTrackerAddedOrBuilder(); - - /** - * .messages.TrackerStatus tracker_status = 4; - * - * @return Whether the trackerStatus field is set. - */ - boolean hasTrackerStatus(); - - /** - * .messages.TrackerStatus tracker_status = 4; - * - * @return The trackerStatus. - */ - dev.slimevr.bridge.ProtobufMessages.TrackerStatus getTrackerStatus(); - - /** - * .messages.TrackerStatus tracker_status = 4; - */ - dev.slimevr.bridge.ProtobufMessages.TrackerStatusOrBuilder getTrackerStatusOrBuilder(); - - public dev.slimevr.bridge.ProtobufMessages.ProtobufMessage.MessageCase getMessageCase(); } /** @@ -5482,7 +5532,31 @@ public final class ProtobufMessages { com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:messages.ProtobufMessage) ProtobufMessageOrBuilder { + public static final int POSITION_FIELD_NUMBER = 1; + public static final int USER_ACTION_FIELD_NUMBER = 2; + public static final int TRACKER_ADDED_FIELD_NUMBER = 3; + public static final int TRACKER_STATUS_FIELD_NUMBER = 4; private static final long serialVersionUID = 0L; + // @@protoc_insertion_point(class_scope:messages.ProtobufMessage) + private static final dev.slimevr.bridge.ProtobufMessages.ProtobufMessage DEFAULT_INSTANCE; + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ProtobufMessage parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ProtobufMessage(input, extensionRegistry); + } + }; + + static { + DEFAULT_INSTANCE = new dev.slimevr.bridge.ProtobufMessages.ProtobufMessage(); + } + + private int messageCase_ = 0; + private java.lang.Object message_; + private byte memoizedIsInitialized = -1; // Use ProtobufMessage.newBuilder() to construct. private ProtobufMessage(com.google.protobuf.GeneratedMessageV3.Builder builder) { @@ -5492,19 +5566,6 @@ public final class ProtobufMessages { private ProtobufMessage() { } - @java.lang.Override - @SuppressWarnings({"unused"}) - protected java.lang.Object newInstance( - UnusedPrivateParameter unused) { - return new ProtobufMessage(); - } - - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private ProtobufMessage( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) @@ -5604,6 +5665,116 @@ public final class ProtobufMessages { return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_ProtobufMessage_descriptor; } + public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + + public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + + public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(dev.slimevr.bridge.ProtobufMessages.ProtobufMessage prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new ProtobufMessage(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { @@ -5612,56 +5783,6 @@ public final class ProtobufMessages { dev.slimevr.bridge.ProtobufMessages.ProtobufMessage.class, dev.slimevr.bridge.ProtobufMessages.ProtobufMessage.Builder.class); } - private int messageCase_ = 0; - private java.lang.Object message_; - - public enum MessageCase - implements com.google.protobuf.Internal.EnumLite, - com.google.protobuf.AbstractMessage.InternalOneOfEnum { - POSITION(1), - USER_ACTION(2), - TRACKER_ADDED(3), - TRACKER_STATUS(4), - MESSAGE_NOT_SET(0); - private final int value; - - private MessageCase(int value) { - this.value = value; - } - - /** - * @param value The number of the enum to look for. - * @return The enum associated with the given number. - * @deprecated Use {@link #forNumber(int)} instead. - */ - @java.lang.Deprecated - public static MessageCase valueOf(int value) { - return forNumber(value); - } - - public static MessageCase forNumber(int value) { - switch (value) { - case 1: - return POSITION; - case 2: - return USER_ACTION; - case 3: - return TRACKER_ADDED; - case 4: - return TRACKER_STATUS; - case 0: - return MESSAGE_NOT_SET; - default: - return null; - } - } - - @Override - public int getNumber() { - return this.value; - } - } - @Override public MessageCase getMessageCase() { @@ -5669,8 +5790,6 @@ public final class ProtobufMessages { messageCase_); } - public static final int POSITION_FIELD_NUMBER = 1; - /** * .messages.Position position = 1; * @@ -5705,8 +5824,6 @@ public final class ProtobufMessages { return dev.slimevr.bridge.ProtobufMessages.Position.getDefaultInstance(); } - public static final int USER_ACTION_FIELD_NUMBER = 2; - /** * .messages.UserAction user_action = 2; * @@ -5741,8 +5858,6 @@ public final class ProtobufMessages { return dev.slimevr.bridge.ProtobufMessages.UserAction.getDefaultInstance(); } - public static final int TRACKER_ADDED_FIELD_NUMBER = 3; - /** * .messages.TrackerAdded tracker_added = 3; * @@ -5777,8 +5892,6 @@ public final class ProtobufMessages { return dev.slimevr.bridge.ProtobufMessages.TrackerAdded.getDefaultInstance(); } - public static final int TRACKER_STATUS_FIELD_NUMBER = 4; - /** * .messages.TrackerStatus tracker_status = 4; * @@ -5813,8 +5926,6 @@ public final class ProtobufMessages { return dev.slimevr.bridge.ProtobufMessages.TrackerStatus.getDefaultInstance(); } - private byte memoizedIsInitialized = -1; - @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; @@ -5901,8 +6012,7 @@ public final class ProtobufMessages { case 0: default: } - if (!unknownFields.equals(other.unknownFields)) return false; - return true; + return unknownFields.equals(other.unknownFields); } @java.lang.Override @@ -5937,100 +6047,11 @@ public final class ProtobufMessages { return hash; } - public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseFrom( - java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - - public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseFrom( - java.nio.ByteBuffer data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - - public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - - public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - - public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - - public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - - public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - - public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - - public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input); - } - - public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseDelimitedWithIOException(PARSER, input, extensionRegistry); - } - - public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input); - } - - public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return com.google.protobuf.GeneratedMessageV3 - .parseWithIOException(PARSER, input, extensionRegistry); - } - @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder() { - return DEFAULT_INSTANCE.toBuilder(); - } - - public static Builder newBuilder(dev.slimevr.bridge.ProtobufMessages.ProtobufMessage prototype) { - return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); - } - @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE @@ -6044,6 +6065,63 @@ public final class ProtobufMessages { return builder; } + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public dev.slimevr.bridge.ProtobufMessages.ProtobufMessage getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + public enum MessageCase + implements com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + POSITION(1), + USER_ACTION(2), + TRACKER_ADDED(3), + TRACKER_STATUS(4), + MESSAGE_NOT_SET(0); + private final int value; + + MessageCase(int value) { + this.value = value; + } + + /** + * @param value The number of the enum to look for. + * @return The enum associated with the given number. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static MessageCase valueOf(int value) { + return forNumber(value); + } + + public static MessageCase forNumber(int value) { + switch (value) { + case 1: + return POSITION; + case 2: + return USER_ACTION; + case 3: + return TRACKER_ADDED; + case 4: + return TRACKER_STATUS; + case 0: + return MESSAGE_NOT_SET; + default: + return null; + } + } + + @Override + public int getNumber() { + return this.value; + } + } + /** * Protobuf type {@code messages.ProtobufMessage} */ @@ -6051,6 +6129,28 @@ public final class ProtobufMessages { com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:messages.ProtobufMessage) dev.slimevr.bridge.ProtobufMessages.ProtobufMessageOrBuilder { + private int messageCase_ = 0; + private java.lang.Object message_; + private com.google.protobuf.SingleFieldBuilderV3< + dev.slimevr.bridge.ProtobufMessages.Position, dev.slimevr.bridge.ProtobufMessages.Position.Builder, dev.slimevr.bridge.ProtobufMessages.PositionOrBuilder> positionBuilder_; + private com.google.protobuf.SingleFieldBuilderV3< + dev.slimevr.bridge.ProtobufMessages.UserAction, dev.slimevr.bridge.ProtobufMessages.UserAction.Builder, dev.slimevr.bridge.ProtobufMessages.UserActionOrBuilder> userActionBuilder_; + private com.google.protobuf.SingleFieldBuilderV3< + dev.slimevr.bridge.ProtobufMessages.TrackerAdded, dev.slimevr.bridge.ProtobufMessages.TrackerAdded.Builder, dev.slimevr.bridge.ProtobufMessages.TrackerAddedOrBuilder> trackerAddedBuilder_; + private com.google.protobuf.SingleFieldBuilderV3< + dev.slimevr.bridge.ProtobufMessages.TrackerStatus, dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Builder, dev.slimevr.bridge.ProtobufMessages.TrackerStatusOrBuilder> trackerStatusBuilder_; + + // Construct using dev.slimevr.bridge.ProtobufMessages.ProtobufMessage.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_ProtobufMessage_descriptor; @@ -6064,17 +6164,6 @@ public final class ProtobufMessages { dev.slimevr.bridge.ProtobufMessages.ProtobufMessage.class, dev.slimevr.bridge.ProtobufMessages.ProtobufMessage.Builder.class); } - // Construct using dev.slimevr.bridge.ProtobufMessages.ProtobufMessage.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { @@ -6245,9 +6334,6 @@ public final class ProtobufMessages { return this; } - private int messageCase_ = 0; - private java.lang.Object message_; - @Override public MessageCase getMessageCase() { @@ -6262,10 +6348,6 @@ public final class ProtobufMessages { return this; } - - private com.google.protobuf.SingleFieldBuilderV3< - dev.slimevr.bridge.ProtobufMessages.Position, dev.slimevr.bridge.ProtobufMessages.Position.Builder, dev.slimevr.bridge.ProtobufMessages.PositionOrBuilder> positionBuilder_; - /** * .messages.Position position = 1; * @@ -6415,9 +6497,6 @@ public final class ProtobufMessages { return positionBuilder_; } - private com.google.protobuf.SingleFieldBuilderV3< - dev.slimevr.bridge.ProtobufMessages.UserAction, dev.slimevr.bridge.ProtobufMessages.UserAction.Builder, dev.slimevr.bridge.ProtobufMessages.UserActionOrBuilder> userActionBuilder_; - /** * .messages.UserAction user_action = 2; * @@ -6567,9 +6646,6 @@ public final class ProtobufMessages { return userActionBuilder_; } - private com.google.protobuf.SingleFieldBuilderV3< - dev.slimevr.bridge.ProtobufMessages.TrackerAdded, dev.slimevr.bridge.ProtobufMessages.TrackerAdded.Builder, dev.slimevr.bridge.ProtobufMessages.TrackerAddedOrBuilder> trackerAddedBuilder_; - /** * .messages.TrackerAdded tracker_added = 3; * @@ -6719,9 +6795,6 @@ public final class ProtobufMessages { return trackerAddedBuilder_; } - private com.google.protobuf.SingleFieldBuilderV3< - dev.slimevr.bridge.ProtobufMessages.TrackerStatus, dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Builder, dev.slimevr.bridge.ProtobufMessages.TrackerStatusOrBuilder> trackerStatusBuilder_; - /** * .messages.TrackerStatus tracker_status = 4; * @@ -6883,183 +6956,8 @@ public final class ProtobufMessages { return super.mergeUnknownFields(unknownFields); } - // @@protoc_insertion_point(builder_scope:messages.ProtobufMessage) } - - // @@protoc_insertion_point(class_scope:messages.ProtobufMessage) - private static final dev.slimevr.bridge.ProtobufMessages.ProtobufMessage DEFAULT_INSTANCE; - - static { - DEFAULT_INSTANCE = new dev.slimevr.bridge.ProtobufMessages.ProtobufMessage(); - } - - public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage getDefaultInstance() { - return DEFAULT_INSTANCE; - } - - private static final com.google.protobuf.Parser - PARSER = new com.google.protobuf.AbstractParser() { - @java.lang.Override - public ProtobufMessage parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new ProtobufMessage(input, extensionRegistry); - } - }; - - public static com.google.protobuf.Parser parser() { - return PARSER; - } - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - @java.lang.Override - public dev.slimevr.bridge.ProtobufMessages.ProtobufMessage getDefaultInstanceForType() { - return DEFAULT_INSTANCE; - } - - } - - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_messages_PingPong_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_messages_PingPong_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_messages_Position_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_messages_Position_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_messages_UserAction_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_messages_UserAction_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_messages_UserAction_ActionArgumentsEntry_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_messages_UserAction_ActionArgumentsEntry_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_messages_TrackerAdded_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_messages_TrackerAdded_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_messages_TrackerStatus_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_messages_TrackerStatus_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_messages_TrackerStatus_ExtraEntry_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_messages_TrackerStatus_ExtraEntry_fieldAccessorTable; - private static final com.google.protobuf.Descriptors.Descriptor - internal_static_messages_ProtobufMessage_descriptor; - private static final - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_messages_ProtobufMessage_fieldAccessorTable; - - public static com.google.protobuf.Descriptors.FileDescriptor - getDescriptor() { - return descriptor; - } - - private static com.google.protobuf.Descriptors.FileDescriptor - descriptor; - - static { - java.lang.String[] descriptorData = { - "\n\026ProtobufMessages.proto\022\010messages\"\n\n\010Pi" + - "ngPong\"\223\002\n\010Position\022\022\n\ntracker_id\030\001 \001(\005\022" + - "\016\n\001x\030\002 \001(\002H\000\210\001\001\022\016\n\001y\030\003 \001(\002H\001\210\001\001\022\016\n\001z\030\004 \001" + - "(\002H\002\210\001\001\022\n\n\002qx\030\005 \001(\002\022\n\n\002qy\030\006 \001(\002\022\n\n\002qz\030\007 " + - "\001(\002\022\n\n\002qw\030\010 \001(\002\0227\n\013data_source\030\t \001(\0162\035.m" + - "essages.Position.DataSourceH\003\210\001\001\"8\n\nData" + - "Source\022\010\n\004NONE\020\000\022\007\n\003IMU\020\001\022\r\n\tPRECISION\020\002" + - "\022\010\n\004FULL\020\003B\004\n\002_xB\004\n\002_yB\004\n\002_zB\016\n\014_data_so" + - "urce\"\227\001\n\nUserAction\022\014\n\004name\030\001 \001(\t\022C\n\020act" + - "ion_arguments\030\002 \003(\0132).messages.UserActio" + - "n.ActionArgumentsEntry\0326\n\024ActionArgument" + - "sEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"f" + - "\n\014TrackerAdded\022\022\n\ntracker_id\030\001 \001(\005\022\026\n\016tr" + - "acker_serial\030\002 \001(\t\022\024\n\014tracker_name\030\003 \001(\t" + - "\022\024\n\014tracker_role\030\004 \001(\005\"\374\002\n\rTrackerStatus" + - "\022\022\n\ntracker_id\030\001 \001(\005\022.\n\006status\030\002 \001(\0162\036.m" + - "essages.TrackerStatus.Status\0221\n\005extra\030\003 " + - "\003(\0132\".messages.TrackerStatus.ExtraEntry\022" + - ";\n\nconfidence\030\004 \001(\0162\".messages.TrackerSt" + - "atus.ConfidenceH\000\210\001\001\032,\n\nExtraEntry\022\013\n\003ke" + - "y\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"E\n\006Status\022\020\n\014" + - "DISCONNECTED\020\000\022\006\n\002OK\020\001\022\010\n\004BUSY\020\002\022\t\n\005ERRO" + - "R\020\003\022\014\n\010OCCLUDED\020\004\"3\n\nConfidence\022\006\n\002NO\020\000\022" + - "\007\n\003LOW\020\001\022\n\n\006MEDIUM\020\005\022\010\n\004HIGH\020\nB\r\n\013_confi" + - "dence\"\325\001\n\017ProtobufMessage\022&\n\010position\030\001 " + - "\001(\0132\022.messages.PositionH\000\022+\n\013user_action" + - "\030\002 \001(\0132\024.messages.UserActionH\000\022/\n\rtracke" + - "r_added\030\003 \001(\0132\026.messages.TrackerAddedH\000\022" + - "1\n\016tracker_status\030\004 \001(\0132\027.messages.Track" + - "erStatusH\000B\t\n\007messageB&\n\022dev.slimevr.bri" + - "dgeB\020ProtobufMessagesb\006proto3" - }; - descriptor = com.google.protobuf.Descriptors.FileDescriptor - .internalBuildGeneratedFileFrom(descriptorData, - new com.google.protobuf.Descriptors.FileDescriptor[]{ - }); - internal_static_messages_PingPong_descriptor = - getDescriptor().getMessageTypes().get(0); - internal_static_messages_PingPong_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_messages_PingPong_descriptor, - new java.lang.String[]{}); - internal_static_messages_Position_descriptor = - getDescriptor().getMessageTypes().get(1); - internal_static_messages_Position_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_messages_Position_descriptor, - new java.lang.String[]{"TrackerId", "X", "Y", "Z", "Qx", "Qy", "Qz", "Qw", "DataSource", "X", "Y", "Z", "DataSource",}); - internal_static_messages_UserAction_descriptor = - getDescriptor().getMessageTypes().get(2); - internal_static_messages_UserAction_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_messages_UserAction_descriptor, - new java.lang.String[]{"Name", "ActionArguments",}); - internal_static_messages_UserAction_ActionArgumentsEntry_descriptor = - internal_static_messages_UserAction_descriptor.getNestedTypes().get(0); - internal_static_messages_UserAction_ActionArgumentsEntry_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_messages_UserAction_ActionArgumentsEntry_descriptor, - new java.lang.String[]{"Key", "Value",}); - internal_static_messages_TrackerAdded_descriptor = - getDescriptor().getMessageTypes().get(3); - internal_static_messages_TrackerAdded_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_messages_TrackerAdded_descriptor, - new java.lang.String[]{"TrackerId", "TrackerSerial", "TrackerName", "TrackerRole",}); - internal_static_messages_TrackerStatus_descriptor = - getDescriptor().getMessageTypes().get(4); - internal_static_messages_TrackerStatus_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_messages_TrackerStatus_descriptor, - new java.lang.String[]{"TrackerId", "Status", "Extra", "Confidence", "Confidence",}); - internal_static_messages_TrackerStatus_ExtraEntry_descriptor = - internal_static_messages_TrackerStatus_descriptor.getNestedTypes().get(0); - internal_static_messages_TrackerStatus_ExtraEntry_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_messages_TrackerStatus_ExtraEntry_descriptor, - new java.lang.String[]{"Key", "Value",}); - internal_static_messages_ProtobufMessage_descriptor = - getDescriptor().getMessageTypes().get(5); - internal_static_messages_ProtobufMessage_fieldAccessorTable = new - com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_messages_ProtobufMessage_descriptor, - new java.lang.String[]{"Position", "UserAction", "TrackerAdded", "TrackerStatus", "Message",}); } // @@protoc_insertion_point(outer_class_scope) diff --git a/src/main/java/dev/slimevr/bridge/VMCBridge.java b/src/main/java/dev/slimevr/bridge/VMCBridge.java index bdc2eb1c1..b8cab2e5b 100644 --- a/src/main/java/dev/slimevr/bridge/VMCBridge.java +++ b/src/main/java/dev/slimevr/bridge/VMCBridge.java @@ -1,9 +1,9 @@ package dev.slimevr.bridge; -import java.net.InetAddress; - import dev.slimevr.vr.trackers.ShareableTracker; +import java.net.InetAddress; + public class VMCBridge extends Thread implements Bridge { public final int readPort; @@ -47,5 +47,4 @@ public class VMCBridge extends Thread implements Bridge { public void startBridge() { start(); } - } diff --git a/src/main/java/dev/slimevr/gui/AutoBoneWindow.java b/src/main/java/dev/slimevr/gui/AutoBoneWindow.java index 4a38facfc..487c55fbb 100644 --- a/src/main/java/dev/slimevr/gui/AutoBoneWindow.java +++ b/src/main/java/dev/slimevr/gui/AutoBoneWindow.java @@ -1,43 +1,31 @@ package dev.slimevr.gui; -import javax.swing.BoxLayout; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JScrollPane; -import javax.swing.ScrollPaneConstants; -import javax.swing.JButton; -import javax.swing.border.EmptyBorder; -import java.awt.event.MouseEvent; -import java.io.File; -import java.util.List; -import java.util.concurrent.Future; - -import io.eiren.util.StringUtils; -import io.eiren.util.ann.AWTThread; -import io.eiren.util.collections.FastList; -import io.eiren.util.logging.LogManager; - -import javax.swing.event.MouseInputAdapter; - -import org.apache.commons.lang3.tuple.Pair; - import dev.slimevr.VRServer; import dev.slimevr.autobone.AutoBone; import dev.slimevr.gui.swing.EJBox; import dev.slimevr.poserecorder.PoseFrames; -import dev.slimevr.poserecorder.PoseFrameIO; import dev.slimevr.poserecorder.PoseRecorder; import dev.slimevr.vr.processor.skeleton.SkeletonConfigValue; +import io.eiren.util.StringUtils; +import io.eiren.util.ann.AWTThread; +import io.eiren.util.collections.FastList; +import io.eiren.util.logging.LogManager; +import org.apache.commons.lang3.tuple.Pair; + +import javax.swing.*; +import javax.swing.border.EmptyBorder; +import javax.swing.event.MouseInputAdapter; +import java.awt.event.MouseEvent; +import java.util.List; +import java.util.concurrent.Future; public class AutoBoneWindow extends JFrame { - private EJBox pane; - private final transient VRServer server; private final transient SkeletonConfigGUI skeletonConfig; private final transient PoseRecorder poseRecorder; private final transient AutoBone autoBone; - + private final EJBox pane; private transient Thread recordingThread = null; private transient Thread saveRecordingThread = null; private transient Thread autoBoneThread = null; @@ -63,7 +51,6 @@ public class AutoBoneWindow extends JFrame { build(); } - private float processFrames(PoseFrames frames) { return autoBone.processFrames(frames, autoBone.calcInitError, autoBone.targetHeight, (epoch) -> { processLabel.setText(epoch.toString()); diff --git a/src/main/java/dev/slimevr/gui/CalibrationWindow.java b/src/main/java/dev/slimevr/gui/CalibrationWindow.java index 15c371e95..da6bcb73f 100644 --- a/src/main/java/dev/slimevr/gui/CalibrationWindow.java +++ b/src/main/java/dev/slimevr/gui/CalibrationWindow.java @@ -1,22 +1,16 @@ package dev.slimevr.gui; - -import java.awt.Container; -import java.awt.event.MouseEvent; - -import javax.swing.BoxLayout; -import javax.swing.JButton; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JTextArea; -import javax.swing.border.EmptyBorder; -import javax.swing.event.MouseInputAdapter; - import dev.slimevr.gui.swing.EJBox; import dev.slimevr.vr.trackers.CalibratingTracker; import dev.slimevr.vr.trackers.Tracker; import io.eiren.util.ann.AWTThread; +import javax.swing.*; +import javax.swing.border.EmptyBorder; +import javax.swing.event.MouseInputAdapter; +import java.awt.*; +import java.awt.event.MouseEvent; + public class CalibrationWindow extends JFrame { public final Tracker tracker; @@ -74,7 +68,6 @@ public class CalibrationWindow extends JFrame { add(newCalibration = new JTextArea(10, 25)); }}); - // Pack and display pack(); setLocationRelativeTo(null); diff --git a/src/main/java/dev/slimevr/gui/Keybinding.java b/src/main/java/dev/slimevr/gui/Keybinding.java index e994cbd4d..1a0388f7e 100644 --- a/src/main/java/dev/slimevr/gui/Keybinding.java +++ b/src/main/java/dev/slimevr/gui/Keybinding.java @@ -2,16 +2,15 @@ package dev.slimevr.gui; import com.melloware.jintellitype.HotkeyListener; import com.melloware.jintellitype.JIntellitype; - import dev.slimevr.VRServer; import io.eiren.util.OperatingSystem; import io.eiren.util.ann.AWTThread; import io.eiren.util.logging.LogManager; public class Keybinding implements HotkeyListener { - public final VRServer server; private static final int RESET = 1; private static final int QUICK_RESET = 2; + public final VRServer server; @AWTThread public Keybinding(VRServer server) { diff --git a/src/main/java/dev/slimevr/gui/ScalableFont.java b/src/main/java/dev/slimevr/gui/ScalableFont.java index 8746eb347..38cfa9d10 100644 --- a/src/main/java/dev/slimevr/gui/ScalableFont.java +++ b/src/main/java/dev/slimevr/gui/ScalableFont.java @@ -1,6 +1,6 @@ package dev.slimevr.gui; -import java.awt.Font; +import java.awt.*; import java.text.AttributedCharacterIterator.Attribute; import java.util.Map; diff --git a/src/main/java/dev/slimevr/gui/SkeletonConfigGUI.java b/src/main/java/dev/slimevr/gui/SkeletonConfigGUI.java index daff3e30d..e4fa36568 100644 --- a/src/main/java/dev/slimevr/gui/SkeletonConfigGUI.java +++ b/src/main/java/dev/slimevr/gui/SkeletonConfigGUI.java @@ -1,14 +1,5 @@ package dev.slimevr.gui; -import java.awt.event.MouseEvent; -import java.util.HashMap; -import java.util.Map; - -import javax.swing.JButton; -import javax.swing.JCheckBox; -import javax.swing.JLabel; -import javax.swing.event.MouseInputAdapter; - import dev.slimevr.VRServer; import dev.slimevr.gui.swing.ButtonTimer; import dev.slimevr.gui.swing.EJBagNoStretch; @@ -17,12 +8,18 @@ import dev.slimevr.vr.processor.skeleton.SkeletonConfigValue; import io.eiren.util.StringUtils; import io.eiren.util.ann.ThreadSafe; +import javax.swing.*; +import javax.swing.event.MouseInputAdapter; +import java.awt.event.MouseEvent; +import java.util.HashMap; +import java.util.Map; + public class SkeletonConfigGUI extends EJBagNoStretch { private final VRServer server; private final VRServerGUI gui; private final AutoBoneWindow autoBone; - private Map labels = new HashMap<>(); + private final Map labels = new HashMap<>(); private JCheckBox precisionCb; public SkeletonConfigGUI(VRServer server, VRServerGUI gui) { diff --git a/src/main/java/dev/slimevr/gui/SkeletonList.java b/src/main/java/dev/slimevr/gui/SkeletonList.java index 478aa635d..98a0fda87 100644 --- a/src/main/java/dev/slimevr/gui/SkeletonList.java +++ b/src/main/java/dev/slimevr/gui/SkeletonList.java @@ -1,14 +1,8 @@ package dev.slimevr.gui; -import java.awt.GridBagConstraints; -import java.util.List; - -import javax.swing.JLabel; - import com.jme3.math.FastMath; import com.jme3.math.Quaternion; import com.jme3.math.Vector3f; - import dev.slimevr.VRServer; import dev.slimevr.gui.swing.EJBagNoStretch; import dev.slimevr.util.ann.VRServerThread; @@ -18,16 +12,18 @@ import io.eiren.util.StringUtils; import io.eiren.util.ann.ThreadSafe; import io.eiren.util.collections.FastList; +import javax.swing.*; +import java.awt.*; +import java.util.List; + public class SkeletonList extends EJBagNoStretch { private static final long UPDATE_DELAY = 50; - + private final VRServerGUI gui; + private final List nodes = new FastList<>(); Quaternion q = new Quaternion(); Vector3f v = new Vector3f(); float[] angles = new float[3]; - - private final VRServerGUI gui; - private final List nodes = new FastList<>(); private long lastUpdate = 0; public SkeletonList(VRServer server, VRServerGUI gui) { diff --git a/src/main/java/dev/slimevr/gui/TrackersFiltersGUI.java b/src/main/java/dev/slimevr/gui/TrackersFiltersGUI.java index 88a52f1bf..504851e4b 100644 --- a/src/main/java/dev/slimevr/gui/TrackersFiltersGUI.java +++ b/src/main/java/dev/slimevr/gui/TrackersFiltersGUI.java @@ -1,29 +1,25 @@ package dev.slimevr.gui; -import java.awt.event.MouseEvent; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -import javax.swing.Box; -import javax.swing.JButton; -import javax.swing.JComboBox; -import javax.swing.JLabel; -import javax.swing.event.MouseInputAdapter; - import com.jme3.math.FastMath; - import dev.slimevr.VRServer; import dev.slimevr.gui.swing.EJBagNoStretch; import dev.slimevr.vr.trackers.TrackerFilters; import io.eiren.util.StringUtils; +import javax.swing.*; +import javax.swing.event.MouseInputAdapter; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.MouseEvent; + public class TrackersFiltersGUI extends EJBagNoStretch { private final VRServer server; TrackerFilters filterType; float filterAmount; int filterTicks; - private JLabel amountLabel, ticksLabel; + private final JLabel amountLabel; + private final JLabel ticksLabel; public TrackersFiltersGUI(VRServer server, VRServerGUI gui) { @@ -54,7 +50,7 @@ public class TrackersFiltersGUI extends EJBagNoStretch { add(Box.createVerticalStrut(40)); row++; - filterAmount = (Float) FastMath.clamp(server.config.getFloat("filters.amount", 0.3f), 0, 1); + filterAmount = FastMath.clamp(server.config.getFloat("filters.amount", 0.3f), 0, 1); add(new JLabel("Intensity"), c(0, row, 2)); add(new AdjButton("+", 0, false), c(1, row, 2)); @@ -67,15 +63,14 @@ public class TrackersFiltersGUI extends EJBagNoStretch { add(new AdjButton("+", 1, false), c(1, row, 2)); add(ticksLabel = new JLabel(StringUtils.prettyNumber(filterTicks)), c(2, row, 2)); add(new AdjButton("-", 1, true), c(3, row, 2)); - } void adjustValues(int cat, boolean neg) { if (cat == 0) { if (neg) { - filterAmount = (Float) FastMath.clamp(filterAmount - 0.1f, 0, 1); + filterAmount = FastMath.clamp(filterAmount - 0.1f, 0, 1); } else { - filterAmount = (Float) FastMath.clamp(filterAmount + 0.1f, 0, 1); + filterAmount = FastMath.clamp(filterAmount + 0.1f, 0, 1); } amountLabel.setText((StringUtils.prettyNumber(filterAmount * 100f)) + "%"); } else if (cat == 1) { @@ -101,6 +96,5 @@ public class TrackersFiltersGUI extends EJBagNoStretch { } }); } - } } diff --git a/src/main/java/dev/slimevr/gui/TrackersList.java b/src/main/java/dev/slimevr/gui/TrackersList.java index 5fb4e8a8f..342fc6584 100644 --- a/src/main/java/dev/slimevr/gui/TrackersList.java +++ b/src/main/java/dev/slimevr/gui/TrackersList.java @@ -1,53 +1,33 @@ package dev.slimevr.gui; -import java.awt.Color; -import java.awt.Font; -import java.awt.GridBagConstraints; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.util.List; -import java.util.Objects; - -import javax.swing.BorderFactory; -import javax.swing.Box; -import javax.swing.BoxLayout; -import javax.swing.JComboBox; -import javax.swing.JLabel; - import com.jme3.math.FastMath; import com.jme3.math.Quaternion; import com.jme3.math.Vector3f; - import dev.slimevr.VRServer; import dev.slimevr.gui.swing.EJBagNoStretch; import dev.slimevr.gui.swing.EJBoxNoStretch; -import dev.slimevr.vr.trackers.ComputedTracker; -import dev.slimevr.vr.trackers.HMDTracker; -import dev.slimevr.vr.trackers.IMUTracker; -import dev.slimevr.vr.trackers.ReferenceAdjustedTracker; -import dev.slimevr.vr.trackers.Tracker; -import dev.slimevr.vr.trackers.TrackerConfig; -import dev.slimevr.vr.trackers.TrackerMountingRotation; -import dev.slimevr.vr.trackers.TrackerPosition; -import dev.slimevr.vr.trackers.TrackerWithBattery; -import dev.slimevr.vr.trackers.TrackerWithTPS; +import dev.slimevr.vr.trackers.*; import io.eiren.util.StringUtils; import io.eiren.util.ann.AWTThread; import io.eiren.util.ann.ThreadSafe; import io.eiren.util.collections.FastList; +import javax.swing.*; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.List; +import java.util.Objects; + public class TrackersList extends EJBoxNoStretch { private static final long UPDATE_DELAY = 50; - + private final VRServer server; + private final VRServerGUI gui; Quaternion q = new Quaternion(); Vector3f v = new Vector3f(); float[] angles = new float[3]; - - private List trackers = new FastList<>(); - - private final VRServer server; - private final VRServerGUI gui; + private final List trackers = new FastList<>(); private long lastUpdate = 0; private boolean debug = false; @@ -61,6 +41,18 @@ public class TrackersList extends EJBoxNoStretch { server.addNewTrackerConsumer(this::newTrackerAdded); } + private static int getTrackerSort(Tracker t) { + if (t instanceof ReferenceAdjustedTracker) + t = ((ReferenceAdjustedTracker) t).getTracker(); + if (t instanceof IMUTracker) + return 0; + if (t instanceof HMDTracker) + return 100; + if (t instanceof ComputedTracker) + return 200; + return 1000; + } + @AWTThread public void setDebug(boolean debug) { this.debug = debug; @@ -363,7 +355,7 @@ public class TrackersList extends EJBoxNoStretch { // -40 dBm is excellent, -95 dBm is very poor int percentage = (signal - -95) * (100 - 0) / (-40 - -95) + 0; percentage = Math.max(Math.min(percentage, 100), 0); - signalStrength.setText(String.valueOf(percentage) + "% " + "(" + String.valueOf(signal) + " dBm" + ")"); + signalStrength.setText(percentage + "% " + "(" + signal + " dBm" + ")"); } } } @@ -414,16 +406,4 @@ public class TrackersList extends EJBoxNoStretch { } } } - - private static int getTrackerSort(Tracker t) { - if (t instanceof ReferenceAdjustedTracker) - t = ((ReferenceAdjustedTracker) t).getTracker(); - if (t instanceof IMUTracker) - return 0; - if (t instanceof HMDTracker) - return 100; - if (t instanceof ComputedTracker) - return 200; - return 1000; - } } diff --git a/src/main/java/dev/slimevr/gui/VRServerGUI.java b/src/main/java/dev/slimevr/gui/VRServerGUI.java index f23eee058..9feff13b2 100644 --- a/src/main/java/dev/slimevr/gui/VRServerGUI.java +++ b/src/main/java/dev/slimevr/gui/VRServerGUI.java @@ -1,29 +1,23 @@ package dev.slimevr.gui; -import javax.imageio.ImageIO; -import javax.swing.*; -import javax.swing.border.EmptyBorder; -import javax.swing.event.MouseInputAdapter; - import dev.slimevr.Main; import dev.slimevr.VRServer; -import dev.slimevr.platform.windows.WindowsNamedPipeBridge; import dev.slimevr.gui.swing.ButtonTimer; import dev.slimevr.gui.swing.EJBagNoStretch; import dev.slimevr.gui.swing.EJBox; import dev.slimevr.gui.swing.EJBoxNoStretch; +import dev.slimevr.platform.windows.WindowsNamedPipeBridge; import dev.slimevr.vr.trackers.TrackerRole; import io.eiren.util.MacOSX; import io.eiren.util.OperatingSystem; import io.eiren.util.StringUtils; import io.eiren.util.ann.AWTThread; -import java.awt.Component; -import java.awt.Container; -import java.awt.Dimension; -import java.awt.Font; -import java.awt.GraphicsConfiguration; -import java.awt.Rectangle; +import javax.imageio.ImageIO; +import javax.swing.*; +import javax.swing.border.EmptyBorder; +import javax.swing.event.MouseInputAdapter; +import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ComponentEvent; @@ -33,8 +27,8 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import static javax.swing.BoxLayout.PAGE_AXIS; import static javax.swing.BoxLayout.LINE_AXIS; +import static javax.swing.BoxLayout.PAGE_AXIS; public class VRServerGUI extends JFrame { @@ -45,7 +39,7 @@ public class VRServerGUI extends JFrame { private final TrackersFiltersGUI trackersFiltersGUI; private final SkeletonList skeletonList; private JButton resetButton; - private EJBox pane; + private final EJBox pane; private float zoom = 1.5f; private float initZoom = zoom; @@ -90,7 +84,6 @@ public class VRServerGUI extends JFrame { trackersFiltersGUI = new TrackersFiltersGUI(server, this); this.skeletonList = new SkeletonList(server, this); - JScrollPane scrollPane = (JScrollPane) add(new JScrollPane(pane = new EJBox(PAGE_AXIS), ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED)); scrollPane.getVerticalScrollBar().setUnitIncrement(16); @@ -116,6 +109,31 @@ public class VRServerGUI extends JFrame { build(); } + private static void processNewZoom(float zoom, Component comp) { + if (comp.isFontSet()) { + Font newFont = new ScalableFont(comp.getFont(), zoom); + comp.setFont(newFont); + } + if (comp instanceof Container) { + Container cont = (Container) comp; + for (Component child : cont.getComponents()) + processNewZoom(zoom, child); + } + } + + private static void setDefaultFontSize(float zoom) { + java.util.Enumeration keys = UIManager.getDefaults().keys(); + while (keys.hasMoreElements()) { + Object key = keys.nextElement(); + Object value = UIManager.get(key); + if (value instanceof javax.swing.plaf.FontUIResource) { + javax.swing.plaf.FontUIResource f = (javax.swing.plaf.FontUIResource) value; + javax.swing.plaf.FontUIResource f2 = new javax.swing.plaf.FontUIResource(f.deriveFont(f.getSize() * zoom)); + UIManager.put(key, f2); + } + } + } + protected void saveFrameInfo() { Rectangle b = getBounds(); server.config.setProperty("window.width", b.width); @@ -320,10 +338,8 @@ public class VRServerGUI extends JFrame { }); } }); - }}); - add(Box.createVerticalStrut(10)); } @@ -366,31 +382,6 @@ public class VRServerGUI extends JFrame { server.saveConfig(); } - private static void processNewZoom(float zoom, Component comp) { - if (comp.isFontSet()) { - Font newFont = new ScalableFont(comp.getFont(), zoom); - comp.setFont(newFont); - } - if (comp instanceof Container) { - Container cont = (Container) comp; - for (Component child : cont.getComponents()) - processNewZoom(zoom, child); - } - } - - private static void setDefaultFontSize(float zoom) { - java.util.Enumeration keys = UIManager.getDefaults().keys(); - while (keys.hasMoreElements()) { - Object key = keys.nextElement(); - Object value = UIManager.get(key); - if (value instanceof javax.swing.plaf.FontUIResource) { - javax.swing.plaf.FontUIResource f = (javax.swing.plaf.FontUIResource) value; - javax.swing.plaf.FontUIResource f2 = new javax.swing.plaf.FontUIResource(f.deriveFont(f.getSize() * zoom)); - UIManager.put(key, f2); - } - } - } - @AWTThread private void resetFast() { server.resetTrackersYaw(); diff --git a/src/main/java/dev/slimevr/gui/WiFiWindow.java b/src/main/java/dev/slimevr/gui/WiFiWindow.java index 80195ed78..96843c2e0 100644 --- a/src/main/java/dev/slimevr/gui/WiFiWindow.java +++ b/src/main/java/dev/slimevr/gui/WiFiWindow.java @@ -1,29 +1,26 @@ package dev.slimevr.gui; -import java.awt.Container; -import java.awt.event.MouseEvent; -import java.awt.event.WindowAdapter; -import java.awt.event.WindowEvent; - -import javax.swing.*; -import javax.swing.event.MouseInputAdapter; - import com.fazecast.jSerialComm.SerialPort; - import dev.slimevr.gui.swing.EJBox; import dev.slimevr.serial.SerialListener; import io.eiren.util.ann.AWTThread; +import javax.swing.*; +import javax.swing.event.MouseInputAdapter; +import java.awt.*; +import java.awt.event.MouseEvent; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; + public class WiFiWindow extends JFrame implements SerialListener { private static String savedSSID = ""; private static String savedPassword = ""; + private final VRServerGUI gui; JTextField ssidField; JPasswordField passwdField; JTextArea log; - private final VRServerGUI gui; - public WiFiWindow(VRServerGUI gui) { super("WiFi Settings"); this.gui = gui; diff --git a/src/main/java/dev/slimevr/gui/swing/ButtonTimer.java b/src/main/java/dev/slimevr/gui/swing/ButtonTimer.java index 1288f5fd5..efb2563cf 100644 --- a/src/main/java/dev/slimevr/gui/swing/ButtonTimer.java +++ b/src/main/java/dev/slimevr/gui/swing/ButtonTimer.java @@ -1,13 +1,12 @@ package dev.slimevr.gui.swing; +import javax.swing.*; import java.util.Timer; import java.util.TimerTask; -import javax.swing.AbstractButton; - public class ButtonTimer { - private static Timer timer = new Timer(); + private static final Timer timer = new Timer(); public static void runTimer(AbstractButton button, int seconds, String defaultText, Runnable runnable) { if (seconds <= 0) { @@ -37,6 +36,5 @@ public class ButtonTimer { public void run() { runTimer(button, seconds, defaultText, runnable); } - } } diff --git a/src/main/java/dev/slimevr/gui/swing/EJBag.java b/src/main/java/dev/slimevr/gui/swing/EJBag.java index 94418d1f5..c5da5ea6d 100644 --- a/src/main/java/dev/slimevr/gui/swing/EJBag.java +++ b/src/main/java/dev/slimevr/gui/swing/EJBag.java @@ -1,6 +1,6 @@ package dev.slimevr.gui.swing; -import java.awt.GridBagLayout; +import java.awt.*; public class EJBag extends EJPanel { diff --git a/src/main/java/dev/slimevr/gui/swing/EJBagNoStretch.java b/src/main/java/dev/slimevr/gui/swing/EJBagNoStretch.java index 1074d4ab8..49da9a432 100644 --- a/src/main/java/dev/slimevr/gui/swing/EJBagNoStretch.java +++ b/src/main/java/dev/slimevr/gui/swing/EJBagNoStretch.java @@ -1,8 +1,6 @@ package dev.slimevr.gui.swing; -import java.awt.Container; -import java.awt.Dimension; -import java.awt.GridBagLayout; +import java.awt.*; public class EJBagNoStretch extends EJPanel { diff --git a/src/main/java/dev/slimevr/gui/swing/EJBox.java b/src/main/java/dev/slimevr/gui/swing/EJBox.java index 9bf9ba0a6..cb3a274ef 100644 --- a/src/main/java/dev/slimevr/gui/swing/EJBox.java +++ b/src/main/java/dev/slimevr/gui/swing/EJBox.java @@ -1,6 +1,6 @@ package dev.slimevr.gui.swing; -import javax.swing.BoxLayout; +import javax.swing.*; public class EJBox extends EJPanel { diff --git a/src/main/java/dev/slimevr/gui/swing/EJBoxNoStretch.java b/src/main/java/dev/slimevr/gui/swing/EJBoxNoStretch.java index 5405dfcd8..f0e6c2cb9 100644 --- a/src/main/java/dev/slimevr/gui/swing/EJBoxNoStretch.java +++ b/src/main/java/dev/slimevr/gui/swing/EJBoxNoStretch.java @@ -1,9 +1,7 @@ package dev.slimevr.gui.swing; -import java.awt.Container; -import java.awt.Dimension; - -import javax.swing.BoxLayout; +import javax.swing.*; +import java.awt.*; public class EJBoxNoStretch extends EJPanel { diff --git a/src/main/java/dev/slimevr/gui/swing/EJPanel.java b/src/main/java/dev/slimevr/gui/swing/EJPanel.java index 45b193279..a3c2ade3e 100644 --- a/src/main/java/dev/slimevr/gui/swing/EJPanel.java +++ b/src/main/java/dev/slimevr/gui/swing/EJPanel.java @@ -1,13 +1,7 @@ package dev.slimevr.gui.swing; -import java.awt.Component; -import java.awt.Dimension; -import java.awt.GridBagConstraints; -import java.awt.Insets; -import java.awt.LayoutManager; - -import javax.swing.Box; -import javax.swing.JPanel; +import javax.swing.*; +import java.awt.*; public abstract class EJPanel extends JPanel { diff --git a/src/main/java/dev/slimevr/gui/swing/EJlabel.java b/src/main/java/dev/slimevr/gui/swing/EJlabel.java index ad1c3e12d..97b820360 100644 --- a/src/main/java/dev/slimevr/gui/swing/EJlabel.java +++ b/src/main/java/dev/slimevr/gui/swing/EJlabel.java @@ -1,8 +1,7 @@ package dev.slimevr.gui.swing; -import javax.swing.JLabel; +import javax.swing.*; public class EJlabel extends JLabel { - } diff --git a/src/main/java/dev/slimevr/hardware/magentometer/Magneto.java b/src/main/java/dev/slimevr/hardware/magentometer/Magneto.java index 1bb7158dd..b9ca90477 100644 --- a/src/main/java/dev/slimevr/hardware/magentometer/Magneto.java +++ b/src/main/java/dev/slimevr/hardware/magentometer/Magneto.java @@ -9,5 +9,5 @@ public interface Magneto extends Library { void calculate(double[] data, int nlines, double nxsrej, double hm, double[] B, double[] A_1); - double calculateHnorm(double data[], int nlines); + double calculateHnorm(double[] data, int nlines); } diff --git a/src/main/java/dev/slimevr/platform/windows/WindowsNamedPipeBridge.java b/src/main/java/dev/slimevr/platform/windows/WindowsNamedPipeBridge.java index b9b6cd262..041c14c07 100644 --- a/src/main/java/dev/slimevr/platform/windows/WindowsNamedPipeBridge.java +++ b/src/main/java/dev/slimevr/platform/windows/WindowsNamedPipeBridge.java @@ -1,14 +1,10 @@ package dev.slimevr.platform.windows; -import java.io.IOException; -import java.util.List; - import com.google.protobuf.CodedOutputStream; import com.sun.jna.platform.win32.Kernel32; import com.sun.jna.platform.win32.WinBase; import com.sun.jna.platform.win32.WinError; import com.sun.jna.ptr.IntByReference; - import dev.slimevr.Main; import dev.slimevr.bridge.BridgeThread; import dev.slimevr.bridge.PipeState; @@ -16,24 +12,21 @@ import dev.slimevr.bridge.ProtobufBridge; import dev.slimevr.bridge.ProtobufMessages.ProtobufMessage; import dev.slimevr.bridge.ProtobufMessages.TrackerAdded; import dev.slimevr.util.ann.VRServerThread; -import dev.slimevr.vr.trackers.HMDTracker; -import dev.slimevr.vr.trackers.ShareableTracker; -import dev.slimevr.vr.trackers.TrackerPosition; -import dev.slimevr.vr.trackers.TrackerRole; -import dev.slimevr.vr.trackers.VRTracker; +import dev.slimevr.vr.trackers.*; import io.eiren.util.logging.LogManager; +import java.io.IOException; +import java.util.List; + public class WindowsNamedPipeBridge extends ProtobufBridge implements Runnable { - private final TrackerRole[] defaultRoles = new TrackerRole[]{TrackerRole.WAIST, TrackerRole.LEFT_FOOT, TrackerRole.RIGHT_FOOT}; - - private final byte[] buffArray = new byte[2048]; - - protected WindowsPipe pipe; protected final String pipeName; protected final String bridgeSettingsKey; protected final Thread runnerThread; + private final TrackerRole[] defaultRoles = new TrackerRole[]{TrackerRole.WAIST, TrackerRole.LEFT_FOOT, TrackerRole.RIGHT_FOOT}; + private final byte[] buffArray = new byte[2048]; private final List shareableTrackers; + protected WindowsPipe pipe; public WindowsNamedPipeBridge(HMDTracker hmd, String bridgeSettingsKey, String bridgeName, String pipeName, List shareableTrackers) { super(bridgeName, hmd); diff --git a/src/main/java/dev/slimevr/platform/windows/WindowsNamedPipeVRBridge.java b/src/main/java/dev/slimevr/platform/windows/WindowsNamedPipeVRBridge.java index c49019e60..d29b9125d 100644 --- a/src/main/java/dev/slimevr/platform/windows/WindowsNamedPipeVRBridge.java +++ b/src/main/java/dev/slimevr/platform/windows/WindowsNamedPipeVRBridge.java @@ -1,35 +1,30 @@ package dev.slimevr.platform.windows; -import java.io.IOException; -import java.nio.charset.Charset; -import java.util.List; -import java.util.concurrent.atomic.AtomicBoolean; - import com.jme3.math.Quaternion; import com.jme3.math.Vector3f; import com.sun.jna.platform.win32.Kernel32; import com.sun.jna.platform.win32.WinBase; import com.sun.jna.platform.win32.WinNT.HANDLE; import com.sun.jna.ptr.IntByReference; - import dev.slimevr.VRServer; import dev.slimevr.bridge.Bridge; import dev.slimevr.bridge.PipeState; -import dev.slimevr.vr.trackers.ComputedTracker; -import dev.slimevr.vr.trackers.HMDTracker; -import dev.slimevr.vr.trackers.ShareableTracker; -import dev.slimevr.vr.trackers.Tracker; -import dev.slimevr.vr.trackers.TrackerStatus; +import dev.slimevr.vr.trackers.*; import io.eiren.util.collections.FastList; import io.eiren.util.logging.LogManager; +import java.io.IOException; +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; +import java.util.List; +import java.util.concurrent.atomic.AtomicBoolean; + public class WindowsNamedPipeVRBridge extends Thread implements Bridge { - private static final int MAX_COMMAND_LENGTH = 2048; public static final String HMDPipeName = "\\\\.\\pipe\\HMDPipe"; public static final String TrackersPipeName = "\\\\.\\pipe\\TrackPipe"; - public static final Charset ASCII = Charset.forName("ASCII"); - + public static final Charset ASCII = StandardCharsets.US_ASCII; + private static final int MAX_COMMAND_LENGTH = 2048; private final byte[] buffArray = new byte[1024]; private final StringBuilder commandBuilder = new StringBuilder(1024); private final StringBuilder sbBuffer = new StringBuilder(1024); @@ -37,15 +32,13 @@ public class WindowsNamedPipeVRBridge extends Thread implements Bridge { private final Vector3f vBuffer2 = new Vector3f(); private final Quaternion qBuffer = new Quaternion(); private final Quaternion qBuffer2 = new Quaternion(); - - private WindowsPipe hmdPipe; private final HMDTracker hmd; private final List trackerPipes; private final List shareTrackers; private final List internalTrackers; - private final HMDTracker internalHMDTracker = new HMDTracker("internal://HMD"); private final AtomicBoolean newHMDData = new AtomicBoolean(false); + private WindowsPipe hmdPipe; public WindowsNamedPipeVRBridge(HMDTracker hmd, List shareTrackers, VRServer server) { super("Named Pipe VR Bridge"); @@ -61,6 +54,14 @@ public class WindowsNamedPipeVRBridge extends Thread implements Bridge { } } + public static void safeDisconnect(WindowsPipe pipe) { + try { + if (pipe != null && pipe.pipeHandle != null) + Kernel32.INSTANCE.DisconnectNamedPipe(pipe.pipeHandle); + } catch (Exception e) { + } + } + @Override public void run() { try { @@ -150,7 +151,7 @@ public class WindowsNamedPipeVRBridge extends Thread implements Bridge { private void executeHMDInput() throws IOException { String[] split = commandBuilder.toString().split(" "); if (split.length < 7) { - LogManager.log.severe("[VRBridge] Short HMD data received: " + commandBuilder.toString()); + LogManager.log.severe("[VRBridge] Short HMD data received: " + commandBuilder); return; } try { @@ -264,14 +265,6 @@ public class WindowsNamedPipeVRBridge extends Thread implements Bridge { } } - public static void safeDisconnect(WindowsPipe pipe) { - try { - if (pipe != null && pipe.pipeHandle != null) - Kernel32.INSTANCE.DisconnectNamedPipe(pipe.pipeHandle); - } catch (Exception e) { - } - } - @Override public void addSharedTracker(ShareableTracker tracker) { // TODO Auto-generated method stub diff --git a/src/main/java/dev/slimevr/platform/windows/WindowsSteamVRPipeInputBridge.java b/src/main/java/dev/slimevr/platform/windows/WindowsSteamVRPipeInputBridge.java index b26a61704..e51eaea1f 100644 --- a/src/main/java/dev/slimevr/platform/windows/WindowsSteamVRPipeInputBridge.java +++ b/src/main/java/dev/slimevr/platform/windows/WindowsSteamVRPipeInputBridge.java @@ -1,5 +1,22 @@ package dev.slimevr.platform.windows; +import com.jme3.math.Quaternion; +import com.jme3.math.Vector3f; +import com.sun.jna.platform.win32.Kernel32; +import com.sun.jna.platform.win32.WinBase; +import com.sun.jna.platform.win32.WinError; +import com.sun.jna.ptr.IntByReference; +import dev.slimevr.VRServer; +import dev.slimevr.bridge.Bridge; +import dev.slimevr.bridge.PipeState; +import dev.slimevr.vr.trackers.ShareableTracker; +import dev.slimevr.vr.trackers.TrackerPosition; +import dev.slimevr.vr.trackers.TrackerStatus; +import dev.slimevr.vr.trackers.VRTracker; +import io.eiren.util.collections.FastList; +import io.eiren.util.logging.LogManager; +import org.apache.commons.lang3.StringUtils; + import java.io.IOException; import java.util.HashMap; import java.util.Iterator; @@ -7,38 +24,18 @@ import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicBoolean; -import dev.slimevr.VRServer; -import dev.slimevr.bridge.Bridge; -import org.apache.commons.lang3.StringUtils; - -import com.jme3.math.Quaternion; -import com.jme3.math.Vector3f; -import com.sun.jna.platform.win32.Kernel32; -import com.sun.jna.platform.win32.WinBase; -import com.sun.jna.platform.win32.WinError; -import com.sun.jna.ptr.IntByReference; - -import dev.slimevr.bridge.PipeState; -import dev.slimevr.vr.trackers.ShareableTracker; -import dev.slimevr.vr.trackers.TrackerPosition; -import dev.slimevr.vr.trackers.TrackerStatus; -import dev.slimevr.vr.trackers.VRTracker; -import io.eiren.util.collections.FastList; -import io.eiren.util.logging.LogManager; - public class WindowsSteamVRPipeInputBridge extends Thread implements Bridge { - private static final int MAX_COMMAND_LENGTH = 2048; public static final String PipeName = "\\\\.\\pipe\\SlimeVRInput"; - + private static final int MAX_COMMAND_LENGTH = 2048; private final byte[] buffArray = new byte[1024]; private final VRServer server; private final StringBuilder commandBuilder = new StringBuilder(1024); private final List trackers = new FastList<>(); private final Map trackersInternal = new HashMap<>(); - private AtomicBoolean newData = new AtomicBoolean(false); private final Vector3f vBuffer = new Vector3f(); private final Quaternion qBuffer = new Quaternion(); + private final AtomicBoolean newData = new AtomicBoolean(false); private WindowsPipe pipe; public WindowsSteamVRPipeInputBridge(VRServer server) { @@ -112,7 +109,7 @@ public class WindowsSteamVRPipeInputBridge extends Thread implements Bridge { switch (command[0]) { case "ADD": // Add new tracker if (command.length < 4) { - LogManager.log.severe("[SteamVRPipeInputBridge] Error in ADD command. Command requires at least 4 arguments. Supplied: " + commandBuilder.toString()); + LogManager.log.severe("[SteamVRPipeInputBridge] Error in ADD command. Command requires at least 4 arguments. Supplied: " + commandBuilder); return; } VRTracker internalTracker = new VRTracker(Integer.parseInt(command[1]), StringUtils.join(command, " ", 3, command.length), true, true); @@ -126,14 +123,14 @@ public class WindowsSteamVRPipeInputBridge extends Thread implements Bridge { oldTracker = trackersInternal.put(internalTracker.getTrackerId(), internalTracker); } if (oldTracker != null) { - LogManager.log.severe("[SteamVRPipeInputBridge] New tracker added with the same id. Supplied: " + commandBuilder.toString()); + LogManager.log.severe("[SteamVRPipeInputBridge] New tracker added with the same id. Supplied: " + commandBuilder); return; } newData.set(true); break; case "UPD": // Update tracker data if (command.length < 9) { - LogManager.log.severe("[SteamVRPipeInputBridge] Error in UPD command. Command requires at least 9 arguments. Supplied: " + commandBuilder.toString()); + LogManager.log.severe("[SteamVRPipeInputBridge] Error in UPD command. Command requires at least 9 arguments. Supplied: " + commandBuilder); return; } int id = Integer.parseInt(command[1]); @@ -154,14 +151,14 @@ public class WindowsSteamVRPipeInputBridge extends Thread implements Bridge { break; case "STA": // Update tracker status if (command.length < 3) { - LogManager.log.severe("[SteamVRPipeInputBridge] Error in STA command. Command requires at least 3 arguments. Supplied: " + commandBuilder.toString()); + LogManager.log.severe("[SteamVRPipeInputBridge] Error in STA command. Command requires at least 3 arguments. Supplied: " + commandBuilder); return; } id = Integer.parseInt(command[1]); int status = Integer.parseInt(command[2]); TrackerStatus st = TrackerStatus.getById(status); if (st == null) { - LogManager.log.severe("[SteamVRPipeInputBridge] Unrecognized status id. Supplied: " + commandBuilder.toString()); + LogManager.log.severe("[SteamVRPipeInputBridge] Unrecognized status id. Supplied: " + commandBuilder); return; } internalTracker = trackersInternal.get(id); @@ -264,6 +261,11 @@ public class WindowsSteamVRPipeInputBridge extends Thread implements Bridge { } + @Override + public void startBridge() { + start(); + } + public enum SteamVRInputRoles { HEAD(TrackerPosition.HMD), LEFT_HAND(TrackerPosition.LEFT_CONTROLLER), @@ -283,13 +285,8 @@ public class WindowsSteamVRPipeInputBridge extends Thread implements Bridge { private static final SteamVRInputRoles[] values = values(); public final TrackerPosition bodyPosition; - private SteamVRInputRoles(TrackerPosition slimeVrPosition) { + SteamVRInputRoles(TrackerPosition slimeVrPosition) { this.bodyPosition = slimeVrPosition; } } - - @Override - public void startBridge() { - start(); - } } diff --git a/src/main/java/dev/slimevr/poserecorder/BVHRecorder.java b/src/main/java/dev/slimevr/poserecorder/BVHRecorder.java index 080b44af9..d0c20ae01 100644 --- a/src/main/java/dev/slimevr/poserecorder/BVHRecorder.java +++ b/src/main/java/dev/slimevr/poserecorder/BVHRecorder.java @@ -11,16 +11,14 @@ import java.io.IOException; public class BVHRecorder { - private static File bvhSaveDir = new File("BVH Recordings"); - private PoseDataStream poseDataStream = null; - + private static final File bvhSaveDir = new File("BVH Recordings"); private final ServerPoseStreamer poseStreamer; + private PoseDataStream poseDataStream = null; public BVHRecorder(VRServer server) { this.poseStreamer = new ServerPoseStreamer(server); } - public void startRecording() { File bvhFile = getBvhFile(); if (bvhFile != null) { @@ -35,7 +33,6 @@ public class BVHRecorder { } } - public void endRecording() { try { @@ -47,7 +44,6 @@ public class BVHRecorder { } } - private File getBvhFile() { if (bvhSaveDir.isDirectory() || bvhSaveDir.mkdirs()) { File saveRecording; @@ -64,7 +60,6 @@ public class BVHRecorder { return null; } - public boolean isRecording() { return poseDataStream != null; } diff --git a/src/main/java/dev/slimevr/poserecorder/PoseFrameIO.java b/src/main/java/dev/slimevr/poserecorder/PoseFrameIO.java index 68bc77b1d..f4220c659 100644 --- a/src/main/java/dev/slimevr/poserecorder/PoseFrameIO.java +++ b/src/main/java/dev/slimevr/poserecorder/PoseFrameIO.java @@ -1,20 +1,13 @@ package dev.slimevr.poserecorder; -import java.io.BufferedInputStream; -import java.io.BufferedOutputStream; -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; - import com.jme3.math.Quaternion; import com.jme3.math.Vector3f; - import dev.slimevr.vr.trackers.TrackerPosition; import io.eiren.util.collections.FastList; import io.eiren.util.logging.LogManager; +import java.io.*; + public final class PoseFrameIO { private PoseFrameIO() { diff --git a/src/main/java/dev/slimevr/poserecorder/PoseFrameSkeleton.java b/src/main/java/dev/slimevr/poserecorder/PoseFrameSkeleton.java index 770edc910..6f5afc8d0 100644 --- a/src/main/java/dev/slimevr/poserecorder/PoseFrameSkeleton.java +++ b/src/main/java/dev/slimevr/poserecorder/PoseFrameSkeleton.java @@ -1,14 +1,14 @@ package dev.slimevr.poserecorder; -import java.util.List; -import java.util.Map; - import dev.slimevr.VRServer; import dev.slimevr.vr.processor.ComputedHumanPoseTracker; import dev.slimevr.vr.processor.skeleton.SimpleSkeleton; import dev.slimevr.vr.processor.skeleton.SkeletonConfigValue; import dev.slimevr.vr.trackers.Tracker; +import java.util.List; +import java.util.Map; + public class PoseFrameSkeleton extends SimpleSkeleton { private int frameCursor = 0; diff --git a/src/main/java/dev/slimevr/poserecorder/PoseFrameTracker.java b/src/main/java/dev/slimevr/poserecorder/PoseFrameTracker.java index 31d675fea..334086871 100644 --- a/src/main/java/dev/slimevr/poserecorder/PoseFrameTracker.java +++ b/src/main/java/dev/slimevr/poserecorder/PoseFrameTracker.java @@ -1,10 +1,7 @@ package dev.slimevr.poserecorder; -import java.util.Iterator; - import com.jme3.math.Quaternion; import com.jme3.math.Vector3f; - import dev.slimevr.vr.trackers.Tracker; import dev.slimevr.vr.trackers.TrackerConfig; import dev.slimevr.vr.trackers.TrackerPosition; @@ -12,13 +9,15 @@ import dev.slimevr.vr.trackers.TrackerStatus; import dev.slimevr.vr.trackers.udp.Device; import io.eiren.util.collections.FastList; +import java.util.Iterator; + public class PoseFrameTracker implements Tracker, Iterable { public final String name; private final FastList frames; - private int frameCursor = 0; private final int trackerId = Tracker.getNextLocalTrackerId(); + private int frameCursor = 0; public PoseFrameTracker(String name, FastList frames) { if (frames == null) { diff --git a/src/main/java/dev/slimevr/poserecorder/PoseFrames.java b/src/main/java/dev/slimevr/poserecorder/PoseFrames.java index 5b4056fc0..c2199569e 100644 --- a/src/main/java/dev/slimevr/poserecorder/PoseFrames.java +++ b/src/main/java/dev/slimevr/poserecorder/PoseFrames.java @@ -1,13 +1,13 @@ package dev.slimevr.poserecorder; -import java.util.Iterator; -import java.util.List; -import java.util.NoSuchElementException; - import dev.slimevr.vr.trackers.TrackerPosition; import dev.slimevr.vr.trackers.TrackerUtils; import io.eiren.util.collections.FastList; +import java.util.Iterator; +import java.util.List; +import java.util.NoSuchElementException; + public final class PoseFrames implements Iterable { private final FastList trackers; diff --git a/src/main/java/dev/slimevr/poserecorder/PoseRecorder.java b/src/main/java/dev/slimevr/poserecorder/PoseRecorder.java index 36e348e1f..b0a76c87f 100644 --- a/src/main/java/dev/slimevr/poserecorder/PoseRecorder.java +++ b/src/main/java/dev/slimevr/poserecorder/PoseRecorder.java @@ -1,30 +1,26 @@ package dev.slimevr.poserecorder; -import java.util.List; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.Future; - -import org.apache.commons.lang3.tuple.Pair; - import dev.slimevr.VRServer; import dev.slimevr.util.ann.VRServerThread; import dev.slimevr.vr.trackers.Tracker; import io.eiren.util.collections.FastList; import io.eiren.util.logging.LogManager; +import org.apache.commons.lang3.tuple.Pair; + +import java.util.List; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.Future; public class PoseRecorder { + protected final VRServer server; protected PoseFrames poseFrame = null; - protected int numFrames = -1; protected int frameCursor = 0; protected long frameRecordingInterval = 60L; protected long nextFrameTimeMs = -1L; - protected CompletableFuture currentRecording; - - protected final VRServer server; FastList> trackers = new FastList>(); public PoseRecorder(VRServer server) { diff --git a/src/main/java/dev/slimevr/poserecorder/TrackerFrame.java b/src/main/java/dev/slimevr/poserecorder/TrackerFrame.java index c5635f687..f00e2f15d 100644 --- a/src/main/java/dev/slimevr/poserecorder/TrackerFrame.java +++ b/src/main/java/dev/slimevr/poserecorder/TrackerFrame.java @@ -2,7 +2,6 @@ package dev.slimevr.poserecorder; import com.jme3.math.Quaternion; import com.jme3.math.Vector3f; - import dev.slimevr.vr.trackers.Tracker; import dev.slimevr.vr.trackers.TrackerConfig; import dev.slimevr.vr.trackers.TrackerPosition; @@ -11,12 +10,11 @@ import dev.slimevr.vr.trackers.udp.Device; public final class TrackerFrame implements Tracker { - private int dataFlags = 0; - public final TrackerPosition designation; public final Quaternion rotation; public final Vector3f position; private final int trackerId = Tracker.getNextLocalTrackerId(); + private int dataFlags = 0; public TrackerFrame(TrackerPosition designation, Quaternion rotation, Vector3f position) { this.designation = designation; diff --git a/src/main/java/dev/slimevr/posestreamer/BVHFileStream.java b/src/main/java/dev/slimevr/posestreamer/BVHFileStream.java index dbc1755e7..001badf5b 100644 --- a/src/main/java/dev/slimevr/posestreamer/BVHFileStream.java +++ b/src/main/java/dev/slimevr/posestreamer/BVHFileStream.java @@ -1,32 +1,22 @@ package dev.slimevr.posestreamer; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.OutputStream; -import java.io.OutputStreamWriter; - import com.jme3.math.FastMath; import com.jme3.math.Quaternion; import com.jme3.math.Transform; import com.jme3.math.Vector3f; - -import org.apache.commons.lang3.StringUtils; - import dev.slimevr.vr.processor.TransformNode; import dev.slimevr.vr.processor.skeleton.HumanSkeleton; +import org.apache.commons.lang3.StringUtils; + +import java.io.*; public class BVHFileStream extends PoseDataStream { private static final int LONG_MAX_VALUE_DIGITS = Long.toString(Long.MAX_VALUE).length(); private static final float OFFSET_SCALE = 100f; private static final float POSITION_SCALE = 100f; - - private long frameCount = 0; private final BufferedWriter writer; - + private long frameCount = 0; private long frameCountOffset; private float[] angleBuf = new float[3]; @@ -106,7 +96,7 @@ public class BVHFileStream extends PoseDataStream { if (level > 0 && node.wrappedNode.getParent() != null) { Vector3f offset = node.localTransform.getTranslation(); float reverseMultiplier = node.hasReversedHierarchy() ? -1 : 1; - writer.write(nextIndentLevel + "OFFSET " + Float.toString(offset.getX() * OFFSET_SCALE * reverseMultiplier) + " " + Float.toString(offset.getY() * OFFSET_SCALE * reverseMultiplier) + " " + Float.toString(offset.getZ() * OFFSET_SCALE * reverseMultiplier) + "\n"); + writer.write(nextIndentLevel + "OFFSET " + offset.getX() * OFFSET_SCALE * reverseMultiplier + " " + offset.getY() * OFFSET_SCALE * reverseMultiplier + " " + offset.getZ() * OFFSET_SCALE * reverseMultiplier + "\n"); } else { writer.write(nextIndentLevel + "OFFSET 0.0 0.0 0.0\n"); } @@ -217,7 +207,7 @@ public class BVHFileStream extends PoseDataStream { angleBuf = quatToXyzAngles(rotBuf.normalizeLocal(), angleBuf); // Output in order of roll (Z), pitch (X), yaw (Y) (extrinsic) - writer.write(Float.toString(angleBuf[0] * FastMath.RAD_TO_DEG) + " " + Float.toString(angleBuf[1] * FastMath.RAD_TO_DEG) + " " + Float.toString(angleBuf[2] * FastMath.RAD_TO_DEG)); + writer.write(angleBuf[0] * FastMath.RAD_TO_DEG + " " + angleBuf[1] * FastMath.RAD_TO_DEG + " " + angleBuf[2] * FastMath.RAD_TO_DEG); // Get inverse rotation for child local rotations if (!node.children.isEmpty()) { @@ -246,7 +236,7 @@ public class BVHFileStream extends PoseDataStream { Vector3f rootPos = rootNode.worldTransform.getTranslation(); // Write root position - writer.write(Float.toString(rootPos.getX() * POSITION_SCALE) + " " + Float.toString(rootPos.getY() * POSITION_SCALE) + " " + Float.toString(rootPos.getZ() * POSITION_SCALE) + " "); + writer.write(rootPos.getX() * POSITION_SCALE + " " + rootPos.getY() * POSITION_SCALE + " " + rootPos.getZ() * POSITION_SCALE + " "); writeNodeHierarchyRotation(rootNode, null); writer.newLine(); diff --git a/src/main/java/dev/slimevr/posestreamer/PoseDataStream.java b/src/main/java/dev/slimevr/posestreamer/PoseDataStream.java index b92a6aa22..8d5a941bf 100644 --- a/src/main/java/dev/slimevr/posestreamer/PoseDataStream.java +++ b/src/main/java/dev/slimevr/posestreamer/PoseDataStream.java @@ -1,17 +1,13 @@ package dev.slimevr.posestreamer; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.OutputStream; - import dev.slimevr.vr.processor.skeleton.HumanSkeleton; +import java.io.*; + public abstract class PoseDataStream implements AutoCloseable { - protected boolean closed = false; protected final OutputStream outputStream; + protected boolean closed = false; protected PoseDataStream(OutputStream outputStream) { this.outputStream = outputStream; diff --git a/src/main/java/dev/slimevr/posestreamer/PoseFrameStreamer.java b/src/main/java/dev/slimevr/posestreamer/PoseFrameStreamer.java index 6a4c12224..9f6e8a1b0 100644 --- a/src/main/java/dev/slimevr/posestreamer/PoseFrameStreamer.java +++ b/src/main/java/dev/slimevr/posestreamer/PoseFrameStreamer.java @@ -1,14 +1,14 @@ package dev.slimevr.posestreamer; -import java.io.File; - import dev.slimevr.poserecorder.PoseFrameIO; import dev.slimevr.poserecorder.PoseFrameSkeleton; import dev.slimevr.poserecorder.PoseFrames; +import java.io.File; + public class PoseFrameStreamer extends PoseStreamer { - private PoseFrames frames; + private final PoseFrames frames; public PoseFrameStreamer(String path) { this(new File(path)); diff --git a/src/main/java/dev/slimevr/posestreamer/PoseStreamer.java b/src/main/java/dev/slimevr/posestreamer/PoseStreamer.java index e214cf7f7..9e60dafdb 100644 --- a/src/main/java/dev/slimevr/posestreamer/PoseStreamer.java +++ b/src/main/java/dev/slimevr/posestreamer/PoseStreamer.java @@ -1,10 +1,10 @@ package dev.slimevr.posestreamer; -import java.io.IOException; - import dev.slimevr.vr.processor.skeleton.HumanSkeleton; import io.eiren.util.logging.LogManager; +import java.io.IOException; + public class PoseStreamer { protected long frameRecordingInterval = 60L; @@ -30,6 +30,10 @@ public class PoseStreamer { } } + public synchronized long getFrameInterval() { + return frameRecordingInterval; + } + public synchronized void setFrameInterval(long intervalMs) { if (intervalMs < 1) { throw new IllegalArgumentException("intervalMs must at least have a value of 1"); @@ -38,19 +42,10 @@ public class PoseStreamer { this.frameRecordingInterval = intervalMs; } - public synchronized long getFrameInterval() { - return frameRecordingInterval; - } - public synchronized HumanSkeleton getSkeleton() { return skeleton; } - public synchronized void setOutput(PoseDataStream poseFileStream) throws IOException { - poseFileStream.writeHeader(skeleton, this); - this.poseFileStream = poseFileStream; - } - public synchronized void setOutput(PoseDataStream poseFileStream, long intervalMs) throws IOException { setFrameInterval(intervalMs); setOutput(poseFileStream); @@ -60,6 +55,11 @@ public class PoseStreamer { return poseFileStream; } + public synchronized void setOutput(PoseDataStream poseFileStream) throws IOException { + poseFileStream.writeHeader(skeleton, this); + this.poseFileStream = poseFileStream; + } + public synchronized void closeOutput() throws IOException { PoseDataStream poseFileStream = this.poseFileStream; diff --git a/src/main/java/dev/slimevr/posestreamer/ServerPoseStreamer.java b/src/main/java/dev/slimevr/posestreamer/ServerPoseStreamer.java index c180fe145..2069501a0 100644 --- a/src/main/java/dev/slimevr/posestreamer/ServerPoseStreamer.java +++ b/src/main/java/dev/slimevr/posestreamer/ServerPoseStreamer.java @@ -1,6 +1,5 @@ package dev.slimevr.posestreamer; - import dev.slimevr.VRServer; import dev.slimevr.util.ann.VRServerThread; import dev.slimevr.vr.processor.skeleton.HumanSkeleton; diff --git a/src/main/java/dev/slimevr/posestreamer/StdBVHFileStream.java b/src/main/java/dev/slimevr/posestreamer/StdBVHFileStream.java index 2645a6769..e61077627 100644 --- a/src/main/java/dev/slimevr/posestreamer/StdBVHFileStream.java +++ b/src/main/java/dev/slimevr/posestreamer/StdBVHFileStream.java @@ -1,11 +1,11 @@ package dev.slimevr.posestreamer; +import dev.slimevr.vr.processor.TransformNode; + import java.io.File; import java.io.FileNotFoundException; import java.io.OutputStream; -import dev.slimevr.vr.processor.TransformNode; - public class StdBVHFileStream extends BVHFileStream { public StdBVHFileStream(OutputStream outputStream) { diff --git a/src/main/java/dev/slimevr/posestreamer/TickPoseStreamer.java b/src/main/java/dev/slimevr/posestreamer/TickPoseStreamer.java index 5c0859e52..91cfedaea 100644 --- a/src/main/java/dev/slimevr/posestreamer/TickPoseStreamer.java +++ b/src/main/java/dev/slimevr/posestreamer/TickPoseStreamer.java @@ -1,9 +1,9 @@ package dev.slimevr.posestreamer; -import java.io.IOException; - import dev.slimevr.vr.processor.skeleton.HumanSkeleton; +import java.io.IOException; + public class TickPoseStreamer extends PoseStreamer { protected long nextFrameTimeMs = -1L; diff --git a/src/main/java/dev/slimevr/posestreamer/TransformNodeWrapper.java b/src/main/java/dev/slimevr/posestreamer/TransformNodeWrapper.java index b40a07f78..9ff50870d 100644 --- a/src/main/java/dev/slimevr/posestreamer/TransformNodeWrapper.java +++ b/src/main/java/dev/slimevr/posestreamer/TransformNodeWrapper.java @@ -1,26 +1,21 @@ package dev.slimevr.posestreamer; -import java.util.List; - import com.jme3.math.Quaternion; import com.jme3.math.Transform; - import dev.slimevr.vr.processor.TransformNode; import io.eiren.util.collections.FastList; +import java.util.List; + public class TransformNodeWrapper { public final TransformNode wrappedNode; - - protected String name; - public final Transform localTransform; public final Transform worldTransform; - - private boolean reversedHierarchy = false; - - protected TransformNodeWrapper parent; public final List children; + protected String name; + protected TransformNodeWrapper parent; + private boolean reversedHierarchy = false; public TransformNodeWrapper(TransformNode nodeToWrap, String name, boolean reversedHierarchy, int initialChildCapacity) { this.wrappedNode = nodeToWrap; diff --git a/src/main/java/dev/slimevr/protocol/DataFeedBuilder.java b/src/main/java/dev/slimevr/protocol/DataFeedBuilder.java index fa0a36d84..d0385edef 100644 --- a/src/main/java/dev/slimevr/protocol/DataFeedBuilder.java +++ b/src/main/java/dev/slimevr/protocol/DataFeedBuilder.java @@ -9,8 +9,12 @@ import dev.slimevr.vr.trackers.udp.Device; import solarxr_protocol.data_feed.DataFeedUpdate; import solarxr_protocol.data_feed.device_data.DeviceData; import solarxr_protocol.data_feed.device_data.DeviceDataMaskT; -import solarxr_protocol.data_feed.tracker.*; -import solarxr_protocol.datatypes.*; +import solarxr_protocol.data_feed.tracker.TrackerData; +import solarxr_protocol.data_feed.tracker.TrackerDataMaskT; +import solarxr_protocol.data_feed.tracker.TrackerInfo; +import solarxr_protocol.datatypes.DeviceId; +import solarxr_protocol.datatypes.Temperature; +import solarxr_protocol.datatypes.TrackerId; import solarxr_protocol.datatypes.hardware_info.HardwareInfo; import solarxr_protocol.datatypes.hardware_info.HardwareStatus; import solarxr_protocol.datatypes.math.Quat; diff --git a/src/main/java/dev/slimevr/protocol/GenericConnection.java b/src/main/java/dev/slimevr/protocol/GenericConnection.java index e838c7b70..e5ea61196 100644 --- a/src/main/java/dev/slimevr/protocol/GenericConnection.java +++ b/src/main/java/dev/slimevr/protocol/GenericConnection.java @@ -5,11 +5,9 @@ import java.util.UUID; public interface GenericConnection { - UUID getConnectionId(); ConnectionContext getContext(); void send(ByteBuffer bytes); - } diff --git a/src/main/java/dev/slimevr/protocol/ProtocolAPIServer.java b/src/main/java/dev/slimevr/protocol/ProtocolAPIServer.java index 57f10df67..774167dde 100644 --- a/src/main/java/dev/slimevr/protocol/ProtocolAPIServer.java +++ b/src/main/java/dev/slimevr/protocol/ProtocolAPIServer.java @@ -5,5 +5,4 @@ import java.util.Map; public interface ProtocolAPIServer { Map getAPIConnections(); - } diff --git a/src/main/java/dev/slimevr/protocol/RPCBuilder.java b/src/main/java/dev/slimevr/protocol/RPCBuilder.java index 0fddb90d6..b88fb0f3c 100644 --- a/src/main/java/dev/slimevr/protocol/RPCBuilder.java +++ b/src/main/java/dev/slimevr/protocol/RPCBuilder.java @@ -8,7 +8,6 @@ import solarxr_protocol.rpc.SkeletonPart; public class RPCBuilder { - public static int createSkeletonConfig(FlatBufferBuilder fbb, HumanPoseProcessor humanPoseProcessor) { int[] partsOffsets = new int[SkeletonConfigValue.values().length]; @@ -18,9 +17,7 @@ public class RPCBuilder { partsOffsets[index] = part; } - int parts = SkeletonConfigResponse.createSkeletonPartsVector(fbb, partsOffsets); return SkeletonConfigResponse.createSkeletonConfigResponse(fbb, parts); } - } diff --git a/src/main/java/dev/slimevr/protocol/RPCHandler.java b/src/main/java/dev/slimevr/protocol/RPCHandler.java index 31f98e514..3419f5f52 100644 --- a/src/main/java/dev/slimevr/protocol/RPCHandler.java +++ b/src/main/java/dev/slimevr/protocol/RPCHandler.java @@ -42,7 +42,6 @@ public class RPCHandler extends ProtocolHandler implements Ser this.api.server.getSerialHandler().addListener(this); } - public void onSetWifiRequest(GenericConnection conn, RpcMessageHeader messageHeader) { SetWifiRequest req = (SetWifiRequest) messageHeader.message(new SetWifiRequest()); if (req == null) return; @@ -86,7 +85,6 @@ public class RPCHandler extends ProtocolHandler implements Ser conn.send(fbb.dataBuffer()); } - public void onSkeletonResetAllRequest(GenericConnection conn, RpcMessageHeader messageHeader) { SkeletonResetAllRequest req = (SkeletonResetAllRequest) messageHeader.message(new SkeletonResetAllRequest()); if (req == null) return; @@ -94,7 +92,6 @@ public class RPCHandler extends ProtocolHandler implements Ser this.api.server.humanPoseProcessor.getSkeletonConfig().resetConfigs(); this.api.server.saveConfig(); - // might not be a good idea maybe let the client ask again FlatBufferBuilder fbb = new FlatBufferBuilder(300); int config = RPCBuilder.createSkeletonConfig(fbb, this.api.server.humanPoseProcessor); @@ -103,7 +100,6 @@ public class RPCHandler extends ProtocolHandler implements Ser conn.send(fbb.dataBuffer()); } - public void onSkeletonConfigRequest(GenericConnection conn, RpcMessageHeader messageHeader) { SkeletonConfigRequest req = (SkeletonConfigRequest) messageHeader.message(new SkeletonConfigRequest()); if (req == null) return; @@ -232,7 +228,6 @@ public class RPCHandler extends ProtocolHandler implements Ser } } - @Override public void onMessage(GenericConnection conn, RpcMessageHeader message) { BiConsumer consumer = this.handlers[message.messageType()]; @@ -245,7 +240,6 @@ public class RPCHandler extends ProtocolHandler implements Ser public int createRPCMessage(FlatBufferBuilder fbb, byte messageType, int messageOffset) { int[] data = new int[1]; - RpcMessageHeader.startRpcMessageHeader(fbb); RpcMessageHeader.addMessage(fbb, messageOffset); RpcMessageHeader.addMessageType(fbb, messageType); diff --git a/src/main/java/dev/slimevr/serial/SerialHandler.java b/src/main/java/dev/slimevr/serial/SerialHandler.java index a2a934ef9..7a3b51c5d 100644 --- a/src/main/java/dev/slimevr/serial/SerialHandler.java +++ b/src/main/java/dev/slimevr/serial/SerialHandler.java @@ -4,15 +4,18 @@ import com.fazecast.jSerialComm.SerialPort; import com.fazecast.jSerialComm.SerialPortEvent; import com.fazecast.jSerialComm.SerialPortMessageListener; -import java.io.*; +import java.io.IOException; +import java.io.OutputStream; +import java.io.OutputStreamWriter; import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; -import java.util.*; +import java.util.ArrayList; +import java.util.List; public class SerialHandler implements SerialPortMessageListener { private SerialPort trackerPort = null; - private List listeners = new ArrayList<>(); + private final List listeners = new ArrayList<>(); public void addListener(SerialListener channel) { this.listeners.add(channel); @@ -22,7 +25,6 @@ public class SerialHandler implements SerialPortMessageListener { listeners.removeIf(listener -> l == listener); } - public boolean openSerial() { if (this.isConnected()) { return true; @@ -57,7 +59,6 @@ public class SerialHandler implements SerialPortMessageListener { trackerPort = null; } - public void setWifi(String ssid, String passwd) { if (trackerPort == null) return; @@ -67,7 +68,7 @@ public class SerialHandler implements SerialPortMessageListener { writer.append("SET WIFI \"" + ssid + "\" \"" + passwd + "\"\n"); writer.flush(); } catch (IOException e) { - addLog(e.toString() + "\n"); + addLog(e + "\n"); e.printStackTrace(); } } diff --git a/src/main/java/dev/slimevr/serial/SerialListener.java b/src/main/java/dev/slimevr/serial/SerialListener.java index ea9bab64b..856614a25 100644 --- a/src/main/java/dev/slimevr/serial/SerialListener.java +++ b/src/main/java/dev/slimevr/serial/SerialListener.java @@ -4,10 +4,9 @@ import com.fazecast.jSerialComm.SerialPort; public interface SerialListener { - public void onSerialConnected(SerialPort port); + void onSerialConnected(SerialPort port); - public void onSerialDisconnected(); - - public void onSerialLog(String str); + void onSerialDisconnected(); + void onSerialLog(String str); } diff --git a/src/main/java/dev/slimevr/vr/processor/ComputedHumanPoseTrackerPosition.java b/src/main/java/dev/slimevr/vr/processor/ComputedHumanPoseTrackerPosition.java index b72651ebc..64ed51c44 100644 --- a/src/main/java/dev/slimevr/vr/processor/ComputedHumanPoseTrackerPosition.java +++ b/src/main/java/dev/slimevr/vr/processor/ComputedHumanPoseTrackerPosition.java @@ -11,5 +11,5 @@ public enum ComputedHumanPoseTrackerPosition { LEFT_ELBOW, RIGHT_ELBOW, LEFT_HAND, - RIGHT_HAND; + RIGHT_HAND } diff --git a/src/main/java/dev/slimevr/vr/processor/HumanPoseProcessor.java b/src/main/java/dev/slimevr/vr/processor/HumanPoseProcessor.java index 540e9f5bd..8a86e2aec 100644 --- a/src/main/java/dev/slimevr/vr/processor/HumanPoseProcessor.java +++ b/src/main/java/dev/slimevr/vr/processor/HumanPoseProcessor.java @@ -1,22 +1,18 @@ package dev.slimevr.vr.processor; -import java.util.List; -import java.util.function.Consumer; - import dev.slimevr.VRServer; import dev.slimevr.util.ann.VRServerThread; import dev.slimevr.vr.processor.skeleton.HumanSkeleton; import dev.slimevr.vr.processor.skeleton.SimpleSkeleton; import dev.slimevr.vr.processor.skeleton.SkeletonConfig; import dev.slimevr.vr.processor.skeleton.SkeletonConfigValue; -import dev.slimevr.vr.trackers.HMDTracker; -import dev.slimevr.vr.trackers.ShareableTracker; -import dev.slimevr.vr.trackers.Tracker; -import dev.slimevr.vr.trackers.TrackerRole; -import dev.slimevr.vr.trackers.TrackerStatus; +import dev.slimevr.vr.trackers.*; import io.eiren.util.ann.ThreadSafe; import io.eiren.util.collections.FastList; +import java.util.List; +import java.util.function.Consumer; + public class HumanPoseProcessor { private final VRServer server; diff --git a/src/main/java/dev/slimevr/vr/processor/TransformNode.java b/src/main/java/dev/slimevr/vr/processor/TransformNode.java index bd1feb031..335523fa6 100644 --- a/src/main/java/dev/slimevr/vr/processor/TransformNode.java +++ b/src/main/java/dev/slimevr/vr/processor/TransformNode.java @@ -1,12 +1,11 @@ package dev.slimevr.vr.processor; +import com.jme3.math.Transform; +import io.eiren.util.collections.FastList; + import java.util.List; import java.util.function.Consumer; -import com.jme3.math.Transform; - -import io.eiren.util.collections.FastList; - public class TransformNode { public final Transform localTransform = new Transform(); diff --git a/src/main/java/dev/slimevr/vr/processor/skeleton/SimpleSkeleton.java b/src/main/java/dev/slimevr/vr/processor/skeleton/SimpleSkeleton.java index a12870475..eab0eb2cd 100644 --- a/src/main/java/dev/slimevr/vr/processor/skeleton/SimpleSkeleton.java +++ b/src/main/java/dev/slimevr/vr/processor/skeleton/SimpleSkeleton.java @@ -1,26 +1,22 @@ package dev.slimevr.vr.processor.skeleton; -import java.util.List; -import java.util.Map; - import com.jme3.math.FastMath; import com.jme3.math.Quaternion; import com.jme3.math.Vector3f; - import dev.slimevr.VRServer; import dev.slimevr.util.ann.VRServerThread; import dev.slimevr.vr.processor.ComputedHumanPoseTracker; import dev.slimevr.vr.processor.ComputedHumanPoseTrackerPosition; import dev.slimevr.vr.processor.TransformNode; -import dev.slimevr.vr.trackers.Tracker; -import dev.slimevr.vr.trackers.TrackerPosition; -import dev.slimevr.vr.trackers.TrackerRole; -import dev.slimevr.vr.trackers.TrackerStatus; -import dev.slimevr.vr.trackers.TrackerUtils; +import dev.slimevr.vr.trackers.*; import io.eiren.util.collections.FastList; +import java.util.List; +import java.util.Map; + public class SimpleSkeleton extends HumanSkeleton implements SkeletonConfigCallback { + public final SkeletonConfig skeletonConfig; //#region Upper body nodes (torso) protected final TransformNode hmdNode = new TransformNode("HMD", false); protected final TransformNode headNode = new TransformNode("Head", false); @@ -29,9 +25,8 @@ public class SimpleSkeleton extends HumanSkeleton implements SkeletonConfigCallb protected final TransformNode trackerChestNode = new TransformNode("Chest-Tracker", false); protected final TransformNode waistNode = new TransformNode("Waist", false); protected final TransformNode hipNode = new TransformNode("Hip", false); - protected final TransformNode trackerWaistNode = new TransformNode("Waist-Tracker", false); //#endregion - + protected final TransformNode trackerWaistNode = new TransformNode("Waist-Tracker", false); //#region Lower body nodes (legs) protected final TransformNode leftHipNode = new TransformNode("Left-Hip", false); protected final TransformNode leftKneeNode = new TransformNode("Left-Knee", false); @@ -39,34 +34,26 @@ public class SimpleSkeleton extends HumanSkeleton implements SkeletonConfigCallb protected final TransformNode leftAnkleNode = new TransformNode("Left-Ankle", false); protected final TransformNode leftFootNode = new TransformNode("Left-Foot", false); protected final TransformNode trackerLeftFootNode = new TransformNode("Left-Foot-Tracker", false); - protected final TransformNode rightHipNode = new TransformNode("Right-Hip", false); protected final TransformNode rightKneeNode = new TransformNode("Right-Knee", false); protected final TransformNode trackerRightKneeNode = new TransformNode("Right-Knee-Tracker", false); protected final TransformNode rightAnkleNode = new TransformNode("Right-Ankle", false); protected final TransformNode rightFootNode = new TransformNode("Right-Foot", false); protected final TransformNode trackerRightFootNode = new TransformNode("Right-Foot-Tracker", false); - - protected float minKneePitch = 0f * FastMath.DEG_TO_RAD; - protected float maxKneePitch = 90f * FastMath.DEG_TO_RAD; - - protected float kneeLerpFactor = 0.5f; - //#endregion - //#region Arms (from controllers) protected final TransformNode leftControllerNodeContrl = new TransformNode("Left-Controller-Contrl", false); protected final TransformNode rightControllerNodeContrl = new TransformNode("Right-Controller-Contrl", false); + //#endregion protected final TransformNode leftWristNodeContrl = new TransformNode("Left-Wrist-Contrl", false); protected final TransformNode rightWristNodeContrl = new TransformNode("Right-Wrist-Contrl", false); protected final TransformNode leftElbowNodeContrl = new TransformNode("Left-Elbow-Contrl", false); protected final TransformNode rightElbowNodeContrl = new TransformNode("Right-Elbow-Contrl", false); protected final TransformNode trackerLeftElbowNodeContrl = new TransformNode("Left-Elbow-Tracker-Contrl", false); protected final TransformNode trackerRightElbowNodeContrl = new TransformNode("Right-Elbow-Tracker-Contrl", false); - //#endregion - //#region Arms (from HMD) protected final TransformNode leftShoulderNodeHmd = new TransformNode("Left-Shoulder-Hmd", false); protected final TransformNode rightShoulderNodeHmd = new TransformNode("Right-Shoulder-Hmd", false); + //#endregion protected final TransformNode leftElbowNodeHmd = new TransformNode("Left-Elbow-Hmd", false); protected final TransformNode rightElbowNodeHmd = new TransformNode("Right-Elbow-Hmd", false); protected final TransformNode trackerLeftElbowNodeHmd = new TransformNode("Left-Elbow-Tracker-Hmd", false); @@ -77,66 +64,52 @@ public class SimpleSkeleton extends HumanSkeleton implements SkeletonConfigCallb protected final TransformNode rightHandNodeHmd = new TransformNode("Right-Hand-Hmd", false); protected final TransformNode trackerLeftHandNodeHmd = new TransformNode("Left-Hand-Tracker-Hmd", false); protected final TransformNode trackerRightHandNodeHmd = new TransformNode("Right-Hand-Tracker-Hmd", false); + protected final Vector3f hipVector = new Vector3f(); + protected final Vector3f ankleVector = new Vector3f(); //#endregion - + protected final Quaternion kneeRotation = new Quaternion(); + protected float minKneePitch = 0f * FastMath.DEG_TO_RAD; + protected float maxKneePitch = 90f * FastMath.DEG_TO_RAD; + protected float kneeLerpFactor = 0.5f; //#region Tracker Input protected Tracker hmdTracker; protected Tracker neckTracker; protected Tracker chestTracker; protected Tracker waistTracker; protected Tracker hipTracker; - protected Tracker leftKneeTracker; protected Tracker leftAnkleTracker; protected Tracker leftFootTracker; - protected Tracker rightKneeTracker; protected Tracker rightAnkleTracker; protected Tracker rightFootTracker; - protected Tracker leftControllerTracker; protected Tracker rightControllerTracker; protected Tracker leftForearmTracker; protected Tracker rightForearmTracker; + //#endregion protected Tracker leftUpperArmTracker; protected Tracker rightUpperArmTracker; protected Tracker leftHandTracker; protected Tracker rightHandTracker; - //#endregion - //#region Tracker Output protected ComputedHumanPoseTracker computedChestTracker; protected ComputedHumanPoseTracker computedWaistTracker; - protected ComputedHumanPoseTracker computedLeftKneeTracker; protected ComputedHumanPoseTracker computedLeftFootTracker; - protected ComputedHumanPoseTracker computedRightKneeTracker; protected ComputedHumanPoseTracker computedRightFootTracker; - + //#endregion protected ComputedHumanPoseTracker computedLeftElbowTracker; protected ComputedHumanPoseTracker computedRightElbowTracker; - protected ComputedHumanPoseTracker computedLeftHandTracker; protected ComputedHumanPoseTracker computedRightHandTracker; - //#endregion - protected boolean extendedPelvisModel = true; protected boolean extendedKneeModel = false; - - public final SkeletonConfig skeletonConfig; - //#region Buffers - private Vector3f posBuf = new Vector3f(); - + private final Vector3f posBuf = new Vector3f(); private Quaternion rotBuf1 = new Quaternion(); - private Quaternion rotBuf2 = new Quaternion(); - - protected final Vector3f hipVector = new Vector3f(); - protected final Vector3f ankleVector = new Vector3f(); - - protected final Quaternion kneeRotation = new Quaternion(); - + private final Quaternion rotBuf2 = new Quaternion(); private boolean hasSpineTracker, hasKneeTracker; //#endregion @@ -247,6 +220,23 @@ public class SimpleSkeleton extends HumanSkeleton implements SkeletonConfigCallb } //#endregion + public static float normalizeRad(float angle) { + return FastMath.normalize(angle, -FastMath.PI, FastMath.PI); + } + + public static float interpolateRadians(float factor, float start, float end) { + float angle = FastMath.abs(end - start); + if (angle > FastMath.PI) { + if (end > start) { + start += FastMath.TWO_PI; + } else { + end += FastMath.TWO_PI; + } + } + float val = start + (end - start) * factor; + return normalizeRad(val); + } + //#region Set Trackers public void setTrackersFromList(List trackers, boolean setHmd) { if (setHmd) { @@ -329,11 +319,13 @@ public class SimpleSkeleton extends HumanSkeleton implements SkeletonConfigCallb setComputedTracker(trackers.get(i)); } } + //#endregion public void setComputedTrackersAndFillNull(List trackers, boolean onlyFillWaistAndFeet) { setComputedTrackers(trackers); fillNullComputedTrackers(onlyFillWaistAndFeet); } + //#endregion public void fillNullComputedTrackers(boolean onlyFillWaistAndFeet) { if (computedWaistTracker == null) { @@ -386,7 +378,6 @@ public class SimpleSkeleton extends HumanSkeleton implements SkeletonConfigCallb } } } - //#endregion //#region Get Trackers public ComputedHumanPoseTracker getComputedTracker(TrackerRole trackerRole) { @@ -419,7 +410,6 @@ public class SimpleSkeleton extends HumanSkeleton implements SkeletonConfigCallb return null; } - //#endregion //#region Processing // Useful for sub-classes that need to return a sub-tracker (like PoseFrameTracker -> TrackerFrame) @@ -435,6 +425,7 @@ public class SimpleSkeleton extends HumanSkeleton implements SkeletonConfigCallb updateRootTrackers(); updateComputedTrackers(); } + //#endregion void updateRootTrackers() { hmdNode.update(); @@ -630,7 +621,6 @@ public class SimpleSkeleton extends HumanSkeleton implements SkeletonConfigCallb } } } - //#endregion //#region Knee Model // Knee basically has only 1 DoF (pitch), average yaw and roll between knee and hip @@ -652,23 +642,6 @@ public class SimpleSkeleton extends HumanSkeleton implements SkeletonConfigCallb // Return knee angle into knee rotation kneeBuf.multLocal(kneeRotation); } - - public static float normalizeRad(float angle) { - return FastMath.normalize(angle, -FastMath.PI, FastMath.PI); - } - - public static float interpolateRadians(float factor, float start, float end) { - float angle = FastMath.abs(end - start); - if (angle > FastMath.PI) { - if (end > start) { - start += FastMath.TWO_PI; - } else { - end += FastMath.TWO_PI; - } - } - float val = start + (end - start) * factor; - return normalizeRad(val); - } //#endregion //#region Update the output trackers diff --git a/src/main/java/dev/slimevr/vr/processor/skeleton/SkeletonConfig.java b/src/main/java/dev/slimevr/vr/processor/skeleton/SkeletonConfig.java index b6a864a1b..d2554911c 100644 --- a/src/main/java/dev/slimevr/vr/processor/skeleton/SkeletonConfig.java +++ b/src/main/java/dev/slimevr/vr/processor/skeleton/SkeletonConfig.java @@ -1,13 +1,12 @@ package dev.slimevr.vr.processor.skeleton; +import com.jme3.math.Vector3f; +import io.eiren.util.logging.LogManager; +import io.eiren.yaml.YamlFile; + import java.util.EnumMap; import java.util.Map; -import com.jme3.math.Vector3f; - -import io.eiren.util.logging.LogManager; -import io.eiren.yaml.YamlFile; - public class SkeletonConfig { protected final EnumMap configs = new EnumMap(SkeletonConfigValue.class); @@ -63,6 +62,35 @@ public class SkeletonConfig { this(skeletonConfig, autoUpdateOffsets, null); } + //#region Cast utilities for config reading + private static Float castFloat(Object o) { + if (o == null) { + return null; + } else if (o instanceof Float) { + return (Float) o; + } else if (o instanceof Double) { + return ((Double) o).floatValue(); + } else if (o instanceof Byte) { + return (float) (Byte) o; + } else if (o instanceof Integer) { + return (float) (Integer) o; + } else if (o instanceof Long) { + return (float) (Long) o; + } else { + return null; + } + } + + private static Boolean castBoolean(Object o) { + if (o == null) { + return null; + } else if (o instanceof Boolean) { + return (Boolean) o; + } else { + return null; + } + } + private void callCallbackOnAll(boolean defaultOnly) { if (callback == null) { return; @@ -324,35 +352,6 @@ public class SkeletonConfig { public void setConfigs(SkeletonConfig skeletonConfig) { setConfigs(skeletonConfig.configs, skeletonConfig.toggles); } - - //#region Cast utilities for config reading - private static Float castFloat(Object o) { - if (o == null) { - return null; - } else if (o instanceof Float) { - return (Float) o; - } else if (o instanceof Double) { - return ((Double) o).floatValue(); - } else if (o instanceof Byte) { - return (float) (Byte) o; - } else if (o instanceof Integer) { - return (float) (Integer) o; - } else if (o instanceof Long) { - return (float) (Long) o; - } else { - return null; - } - } - - private static Boolean castBoolean(Object o) { - if (o == null) { - return null; - } else if (o instanceof Boolean) { - return (Boolean) o; - } else { - return null; - } - } //#endregion public void loadFromConfig(YamlFile config) { diff --git a/src/main/java/dev/slimevr/vr/processor/skeleton/SkeletonConfigCallback.java b/src/main/java/dev/slimevr/vr/processor/skeleton/SkeletonConfigCallback.java index 327052c56..09d894d88 100644 --- a/src/main/java/dev/slimevr/vr/processor/skeleton/SkeletonConfigCallback.java +++ b/src/main/java/dev/slimevr/vr/processor/skeleton/SkeletonConfigCallback.java @@ -4,9 +4,9 @@ import com.jme3.math.Vector3f; public interface SkeletonConfigCallback { - public void updateConfigState(SkeletonConfigValue config, float newValue); + void updateConfigState(SkeletonConfigValue config, float newValue); - public void updateToggleState(SkeletonConfigToggle configToggle, boolean newValue); + void updateToggleState(SkeletonConfigToggle configToggle, boolean newValue); - public void updateNodeOffset(SkeletonNodeOffset nodeOffset, Vector3f offset); + void updateNodeOffset(SkeletonNodeOffset nodeOffset, Vector3f offset); } diff --git a/src/main/java/dev/slimevr/vr/processor/skeleton/SkeletonConfigToggle.java b/src/main/java/dev/slimevr/vr/processor/skeleton/SkeletonConfigToggle.java index 3589b3ea0..23a79de5d 100644 --- a/src/main/java/dev/slimevr/vr/processor/skeleton/SkeletonConfigToggle.java +++ b/src/main/java/dev/slimevr/vr/processor/skeleton/SkeletonConfigToggle.java @@ -9,17 +9,21 @@ public enum SkeletonConfigToggle { EXTENDED_KNEE_MODEL("Extended knee model", "extendedKnee", false), ; + public static final SkeletonConfigToggle[] values = values(); private static final String CONFIG_PREFIX = "body.model."; + private static final Map byStringVal = new HashMap<>(); + + static { + for (SkeletonConfigToggle configVal : values()) { + byStringVal.put(configVal.stringVal.toLowerCase(), configVal); + } + } public final String stringVal; public final String configKey; - public final boolean defaultValue; - public static final SkeletonConfigToggle[] values = values(); - private static final Map byStringVal = new HashMap<>(); - - private SkeletonConfigToggle(String stringVal, String configKey, boolean defaultValue) { + SkeletonConfigToggle(String stringVal, String configKey, boolean defaultValue) { this.stringVal = stringVal; this.configKey = CONFIG_PREFIX + configKey; @@ -29,10 +33,4 @@ public enum SkeletonConfigToggle { public static SkeletonConfigToggle getByStringValue(String stringVal) { return stringVal == null ? null : byStringVal.get(stringVal.toLowerCase()); } - - static { - for (SkeletonConfigToggle configVal : values()) { - byStringVal.put(configVal.stringVal.toLowerCase(), configVal); - } - } } diff --git a/src/main/java/dev/slimevr/vr/processor/skeleton/SkeletonConfigValue.java b/src/main/java/dev/slimevr/vr/processor/skeleton/SkeletonConfigValue.java index c02b5eaaf..84d377341 100644 --- a/src/main/java/dev/slimevr/vr/processor/skeleton/SkeletonConfigValue.java +++ b/src/main/java/dev/slimevr/vr/processor/skeleton/SkeletonConfigValue.java @@ -25,22 +25,26 @@ public enum SkeletonConfigValue { ELBOW_OFFSET(19, "Elbow offset", "elbowOffset", "Elbow offset", 0f, new SkeletonNodeOffset[]{SkeletonNodeOffset.ELBOW_TRACKER}), ; + public static final SkeletonConfigValue[] values = values(); private static final String CONFIG_PREFIX = "body."; + private static final Map byStringVal = new HashMap<>(); + private static final Map byIdVal = new HashMap<>(); + + static { + for (SkeletonConfigValue configVal : values()) { + byIdVal.put(configVal.id, configVal); + byStringVal.put(configVal.stringVal.toLowerCase(), configVal); + } + } public final int id; public final String stringVal; public final String configKey; public final String label; - public final float defaultValue; - public final SkeletonNodeOffset[] affectedOffsets; - public static final SkeletonConfigValue[] values = values(); - private static final Map byStringVal = new HashMap<>(); - private static final Map byIdVal = new HashMap<>(); - - private SkeletonConfigValue(int id, String stringVal, String configKey, String label, float defaultValue, SkeletonNodeOffset[] affectedOffsets) { + SkeletonConfigValue(int id, String stringVal, String configKey, String label, float defaultValue, SkeletonNodeOffset[] affectedOffsets) { this.id = id; this.stringVal = stringVal; this.configKey = CONFIG_PREFIX + configKey; @@ -58,11 +62,4 @@ public enum SkeletonConfigValue { public static SkeletonConfigValue getById(int id) { return byIdVal.get(id); } - - static { - for (SkeletonConfigValue configVal : values()) { - byIdVal.put(configVal.id, configVal); - byStringVal.put(configVal.stringVal.toLowerCase(), configVal); - } - } } diff --git a/src/main/java/dev/slimevr/vr/trackers/CalibratingTracker.java b/src/main/java/dev/slimevr/vr/trackers/CalibratingTracker.java index 9ebb134ae..6ee134853 100644 --- a/src/main/java/dev/slimevr/vr/trackers/CalibratingTracker.java +++ b/src/main/java/dev/slimevr/vr/trackers/CalibratingTracker.java @@ -4,9 +4,9 @@ import java.util.function.Consumer; public interface CalibratingTracker { - public void startCalibration(Consumer calibrationDataConsumer); + void startCalibration(Consumer calibrationDataConsumer); - public void requestCalibrationData(Consumer calibrationDataConsumer); + void requestCalibrationData(Consumer calibrationDataConsumer); - public void uploadNewClibrationData(); + void uploadNewClibrationData(); } diff --git a/src/main/java/dev/slimevr/vr/trackers/CircularArrayList.java b/src/main/java/dev/slimevr/vr/trackers/CircularArrayList.java index 1146e98c2..0d851e960 100644 --- a/src/main/java/dev/slimevr/vr/trackers/CircularArrayList.java +++ b/src/main/java/dev/slimevr/vr/trackers/CircularArrayList.java @@ -1,10 +1,6 @@ package dev.slimevr.vr.trackers; -import java.util.AbstractList; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.RandomAccess; +import java.util.*; /** * If you use this code, please consider notifying isak at du-preez dot com @@ -27,7 +23,7 @@ public class CircularArrayList public CircularArrayList(int capacity) { n = capacity + 1; - buf = new ArrayList(Collections.nCopies(n, (E) null)); + buf = new ArrayList(Collections.nCopies(n, null)); } public int capacity() { diff --git a/src/main/java/dev/slimevr/vr/trackers/ComputedTracker.java b/src/main/java/dev/slimevr/vr/trackers/ComputedTracker.java index 9963963db..fcf1a6add 100644 --- a/src/main/java/dev/slimevr/vr/trackers/ComputedTracker.java +++ b/src/main/java/dev/slimevr/vr/trackers/ComputedTracker.java @@ -10,11 +10,11 @@ public class ComputedTracker implements Tracker, TrackerWithTPS { public final Quaternion rotation = new Quaternion(); protected final String name; protected final String serial; - protected TrackerStatus status = TrackerStatus.DISCONNECTED; - public TrackerPosition bodyPosition = null; protected final boolean hasRotation; protected final boolean hasPosition; protected final int trackerId; + public TrackerPosition bodyPosition = null; + protected TrackerStatus status = TrackerStatus.DISCONNECTED; public ComputedTracker(int trackerId, String serial, String name, boolean hasRotation, boolean hasPosition) { this.name = name; @@ -133,7 +133,6 @@ public class ComputedTracker implements Tracker, TrackerWithTPS { return this.trackerId; } - @Override public int getTrackerNum() { return -1; diff --git a/src/main/java/dev/slimevr/vr/trackers/DeviceType.java b/src/main/java/dev/slimevr/vr/trackers/DeviceType.java index c5ebd8ad7..a04142364 100644 --- a/src/main/java/dev/slimevr/vr/trackers/DeviceType.java +++ b/src/main/java/dev/slimevr/vr/trackers/DeviceType.java @@ -5,5 +5,4 @@ public enum DeviceType { CONTROLLER, TRACKER, TRACKING_REFERENCE, - ; } diff --git a/src/main/java/dev/slimevr/vr/trackers/IMUTracker.java b/src/main/java/dev/slimevr/vr/trackers/IMUTracker.java index f2daf7d63..1b9f64e3f 100644 --- a/src/main/java/dev/slimevr/vr/trackers/IMUTracker.java +++ b/src/main/java/dev/slimevr/vr/trackers/IMUTracker.java @@ -3,7 +3,6 @@ package dev.slimevr.vr.trackers; import com.jme3.math.FastMath; import com.jme3.math.Quaternion; import com.jme3.math.Vector3f; - import dev.slimevr.VRServer; import dev.slimevr.vr.trackers.udp.Device; import dev.slimevr.vr.trackers.udp.TrackersUDPServer; @@ -19,36 +18,33 @@ public class IMUTracker implements Tracker, TrackerWithTPS, TrackerWithBattery { public final Quaternion rotQuaternion = new Quaternion(); public final Quaternion rotMagQuaternion = new Quaternion(); public final Quaternion rotAdjust = new Quaternion(); + public final Device device; + public final int trackerNum; protected final Quaternion correction = new Quaternion(); - protected CircularArrayList previousRots; - private final Quaternion buffQuat = new Quaternion(); - public int movementFilterTickCount = 0; - public float movementFilterAmount = 1f; - protected Quaternion mounting = null; - protected TrackerStatus status = TrackerStatus.OK; protected final int trackerId; - protected final String name; protected final String descriptiveName; protected final TrackersUDPServer server; protected final VRServer vrserver; - protected float confidence = 0; - protected float batteryVoltage = 0; - protected float batteryLevel = 0; + private final Quaternion buffQuat = new Quaternion(); + public int movementFilterTickCount = 0; + public float movementFilterAmount = 1f; public int calibrationStatus = 0; public int magCalibrationStatus = 0; public float magnetometerAccuracy = 0; - protected boolean magentometerCalibrated = false; public boolean hasNewCorrectionData = false; - - protected BufferedTimer timer = new BufferedTimer(1f); public int ping = -1; public int signalStrength = -1; public float temperature = 0; - public final Device device; - public final int trackerNum; - public TrackerPosition bodyPosition = null; + protected CircularArrayList previousRots; + protected Quaternion mounting = null; + protected TrackerStatus status = TrackerStatus.OK; + protected float confidence = 0; + protected float batteryVoltage = 0; + protected float batteryLevel = 0; + protected boolean magentometerCalibrated = false; + protected BufferedTimer timer = new BufferedTimer(1f); public IMUTracker(Device device, int trackerId, int trackerNum, String name, String descriptiveName, TrackersUDPServer server, VRServer vrserver) { this.device = device; @@ -201,15 +197,15 @@ public class IMUTracker implements Tracker, TrackerWithTPS, TrackerWithBattery { return batteryLevel; } + public void setBatteryLevel(float level) { + this.batteryLevel = level; + } + @Override public float getBatteryVoltage() { return batteryVoltage; } - public void setBatteryLevel(float level) { - this.batteryLevel = level; - } - public void setBatteryVoltage(float voltage) { this.batteryVoltage = voltage; } @@ -302,9 +298,15 @@ public class IMUTracker implements Tracker, TrackerWithTPS, TrackerWithBattery { ; private static final CalibrationAccuracy[] byStatus = new CalibrationAccuracy[4]; + + static { + for (CalibrationAccuracy ca : values()) + byStatus[ca.status] = ca; + } + public final int status; - private CalibrationAccuracy(int status) { + CalibrationAccuracy(int status) { this.status = status; } @@ -313,10 +315,5 @@ public class IMUTracker implements Tracker, TrackerWithTPS, TrackerWithBattery { return null; return byStatus[status]; } - - static { - for (CalibrationAccuracy ca : values()) - byStatus[ca.status] = ca; - } } } diff --git a/src/main/java/dev/slimevr/vr/trackers/MPUTracker.java b/src/main/java/dev/slimevr/vr/trackers/MPUTracker.java index 817162ae1..317968496 100644 --- a/src/main/java/dev/slimevr/vr/trackers/MPUTracker.java +++ b/src/main/java/dev/slimevr/vr/trackers/MPUTracker.java @@ -1,11 +1,11 @@ package dev.slimevr.vr.trackers; -import java.nio.ByteBuffer; - import dev.slimevr.VRServer; import dev.slimevr.vr.trackers.udp.Device; import dev.slimevr.vr.trackers.udp.TrackersUDPServer; +import java.nio.ByteBuffer; + public class MPUTracker extends IMUTracker { public ConfigurationData newCalibrationData; diff --git a/src/main/java/dev/slimevr/vr/trackers/SensorTap.java b/src/main/java/dev/slimevr/vr/trackers/SensorTap.java index 18cd823ab..2ffd6650b 100644 --- a/src/main/java/dev/slimevr/vr/trackers/SensorTap.java +++ b/src/main/java/dev/slimevr/vr/trackers/SensorTap.java @@ -16,6 +16,6 @@ public class SensorTap { public enum TapAxis { X, Y, - Z; + Z } } diff --git a/src/main/java/dev/slimevr/vr/trackers/ShareableTracker.java b/src/main/java/dev/slimevr/vr/trackers/ShareableTracker.java index 35bfe4222..575f4bfe0 100644 --- a/src/main/java/dev/slimevr/vr/trackers/ShareableTracker.java +++ b/src/main/java/dev/slimevr/vr/trackers/ShareableTracker.java @@ -2,5 +2,5 @@ package dev.slimevr.vr.trackers; public interface ShareableTracker extends Tracker { - public TrackerRole getTrackerRole(); + TrackerRole getTrackerRole(); } diff --git a/src/main/java/dev/slimevr/vr/trackers/Tracker.java b/src/main/java/dev/slimevr/vr/trackers/Tracker.java index 50233e19a..516c53c83 100644 --- a/src/main/java/dev/slimevr/vr/trackers/Tracker.java +++ b/src/main/java/dev/slimevr/vr/trackers/Tracker.java @@ -1,58 +1,58 @@ package dev.slimevr.vr.trackers; -import java.util.concurrent.atomic.AtomicInteger; - 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 { - public static final AtomicInteger nextLocalTrackerId = new AtomicInteger(); + AtomicInteger nextLocalTrackerId = new AtomicInteger(); - public boolean getPosition(Vector3f store); - - public boolean getRotation(Quaternion store); - - public String getName(); - - public TrackerStatus getStatus(); - - public void loadConfig(TrackerConfig config); - - public void saveConfig(TrackerConfig config); - - public float getConfidenceLevel(); - - public void resetFull(Quaternion reference); - - public void resetYaw(Quaternion reference); - - public void tick(); - - public TrackerPosition getBodyPosition(); - - public void setBodyPosition(TrackerPosition position); - - public boolean userEditable(); - - public boolean hasRotation(); - - public boolean hasPosition(); - - public boolean isComputed(); - - public int getTrackerId(); - - public int getTrackerNum(); - - public Device getDevice(); - - public default String getDescriptiveName() { - return getName(); - } - - public static int getNextLocalTrackerId() { + 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(); + } } diff --git a/src/main/java/dev/slimevr/vr/trackers/TrackerConfig.java b/src/main/java/dev/slimevr/vr/trackers/TrackerConfig.java index bc2f5fdd7..fa5001166 100644 --- a/src/main/java/dev/slimevr/vr/trackers/TrackerConfig.java +++ b/src/main/java/dev/slimevr/vr/trackers/TrackerConfig.java @@ -1,7 +1,6 @@ package dev.slimevr.vr.trackers; import com.jme3.math.Quaternion; - import io.eiren.yaml.YamlNode; public class TrackerConfig { diff --git a/src/main/java/dev/slimevr/vr/trackers/TrackerMountingRotation.java b/src/main/java/dev/slimevr/vr/trackers/TrackerMountingRotation.java index 82caea6ee..1a8c6ab40 100644 --- a/src/main/java/dev/slimevr/vr/trackers/TrackerMountingRotation.java +++ b/src/main/java/dev/slimevr/vr/trackers/TrackerMountingRotation.java @@ -10,9 +10,8 @@ public enum TrackerMountingRotation { BACK(0), RIGHT(-90); - public final Quaternion quaternion; - public static final TrackerMountingRotation[] values = values(); + public final Quaternion quaternion; TrackerMountingRotation(float angle) { this.quaternion = new Quaternion().fromAngles(0, angle * FastMath.DEG_TO_RAD, 0); @@ -25,5 +24,4 @@ public enum TrackerMountingRotation { } return null; } - } diff --git a/src/main/java/dev/slimevr/vr/trackers/TrackerPosition.java b/src/main/java/dev/slimevr/vr/trackers/TrackerPosition.java index 10cf1f05d..b876d36f4 100644 --- a/src/main/java/dev/slimevr/vr/trackers/TrackerPosition.java +++ b/src/main/java/dev/slimevr/vr/trackers/TrackerPosition.java @@ -28,16 +28,29 @@ public enum TrackerPosition { RIGHT_HAND(19, "body:right_hand", TrackerRole.RIGHT_HAND), ; - public final int id; - public final String designation; - public final TrackerRole trackerRole; - public static final TrackerPosition[] values = values(); private static final Map byId = new HashMap<>(); private static final Map byDesignation = new HashMap<>(); private static final EnumMap byRole = new EnumMap<>(TrackerRole.class); - private TrackerPosition(int id, String designation, TrackerRole trackerRole) { + static { + for (TrackerPosition tbp : values()) { + byDesignation.put(tbp.designation.toLowerCase(), tbp); + byId.put(tbp.id, tbp); + if (tbp.trackerRole != null) { + TrackerPosition old = byRole.get(tbp.trackerRole); + if (old != null) + throw new AssertionError("Only one tracker position can match tracker role. " + tbp.trackerRole + " is occupied by " + old + " when adding " + tbp); + byRole.put(tbp.trackerRole, tbp); + } + } + } + + public final int id; + public final String designation; + public final TrackerRole trackerRole; + + TrackerPosition(int id, String designation, TrackerRole trackerRole) { this.id = id; this.designation = designation; this.trackerRole = trackerRole; @@ -62,17 +75,4 @@ public enum TrackerPosition { public static TrackerPosition getById(int id) { return byId.get(id); } - - static { - for (TrackerPosition tbp : values()) { - byDesignation.put(tbp.designation.toLowerCase(), tbp); - byId.put(tbp.id, tbp); - if (tbp.trackerRole != null) { - TrackerPosition old = byRole.get(tbp.trackerRole); - if (old != null) - throw new AssertionError("Only one tracker position can match tracker role. " + tbp.trackerRole + " is occupied by " + old + " when adding " + tbp); - byRole.put(tbp.trackerRole, tbp); - } - } - } } diff --git a/src/main/java/dev/slimevr/vr/trackers/TrackerRole.java b/src/main/java/dev/slimevr/vr/trackers/TrackerRole.java index 207a06b3f..5b232d4af 100644 --- a/src/main/java/dev/slimevr/vr/trackers/TrackerRole.java +++ b/src/main/java/dev/slimevr/vr/trackers/TrackerRole.java @@ -26,15 +26,23 @@ public enum TrackerRole { GENERIC_CONTROLLER(21, "vive_tracker_handed", "TrackerRole_Handed", DeviceType.CONTROLLER), ; + public static final TrackerRole[] values = values(); + private static final TrackerRole[] byId = new TrackerRole[22]; + + static { + for (TrackerRole tr : values) { + if (byId[tr.id] != null) + throw new AssertionError("Tracker role id " + tr.id + " occupied by " + byId[tr.id] + " when adding " + tr); + byId[tr.id] = tr; + } + } + public final int id; public final String roleHint; public final String viveRole; public final DeviceType deviceType; - public static final TrackerRole[] values = values(); - private static final TrackerRole[] byId = new TrackerRole[22]; - - private TrackerRole(int id, String roleHint, String viveRole, DeviceType deviceType) { + TrackerRole(int id, String roleHint, String viveRole, DeviceType deviceType) { this.id = id; this.roleHint = roleHint; this.viveRole = viveRole; @@ -44,12 +52,4 @@ public enum TrackerRole { public static TrackerRole getById(int id) { return id < 0 || id >= byId.length ? null : byId[id]; } - - static { - for (TrackerRole tr : values) { - if (byId[tr.id] != null) - throw new AssertionError("Tracker role id " + tr.id + " occupied by " + byId[tr.id] + " when adding " + tr); - byId[tr.id] = tr; - } - } } diff --git a/src/main/java/dev/slimevr/vr/trackers/TrackerStatus.java b/src/main/java/dev/slimevr/vr/trackers/TrackerStatus.java index 449fa01d2..0b06e12ad 100644 --- a/src/main/java/dev/slimevr/vr/trackers/TrackerStatus.java +++ b/src/main/java/dev/slimevr/vr/trackers/TrackerStatus.java @@ -9,12 +9,17 @@ public enum TrackerStatus { OCCLUDED(4, false), ; - private static final TrackerStatus byId[] = new TrackerStatus[5]; + private static final TrackerStatus[] byId = new TrackerStatus[5]; + + static { + for (TrackerStatus st : values()) + byId[st.id] = st; + } public final int id; public final boolean sendData; - private TrackerStatus(int id, boolean sendData) { + TrackerStatus(int id, boolean sendData) { this.sendData = sendData; this.id = id; } @@ -24,9 +29,4 @@ public enum TrackerStatus { return null; return byId[id]; } - - static { - for (TrackerStatus st : values()) - byId[st.id] = st; - } } diff --git a/src/main/java/dev/slimevr/vr/trackers/TrackerWithBattery.java b/src/main/java/dev/slimevr/vr/trackers/TrackerWithBattery.java index 363f4edce..2b1a8f83d 100644 --- a/src/main/java/dev/slimevr/vr/trackers/TrackerWithBattery.java +++ b/src/main/java/dev/slimevr/vr/trackers/TrackerWithBattery.java @@ -2,7 +2,7 @@ package dev.slimevr.vr.trackers; public interface TrackerWithBattery { - public float getBatteryLevel(); + float getBatteryLevel(); - public float getBatteryVoltage(); + float getBatteryVoltage(); } diff --git a/src/main/java/dev/slimevr/vr/trackers/TrackerWithTPS.java b/src/main/java/dev/slimevr/vr/trackers/TrackerWithTPS.java index 4dd23321d..10d8add50 100644 --- a/src/main/java/dev/slimevr/vr/trackers/TrackerWithTPS.java +++ b/src/main/java/dev/slimevr/vr/trackers/TrackerWithTPS.java @@ -2,7 +2,7 @@ package dev.slimevr.vr.trackers; public interface TrackerWithTPS { - public float getTPS(); + float getTPS(); - public void dataTick(); + void dataTick(); } diff --git a/src/main/java/dev/slimevr/vr/trackers/udp/Device.java b/src/main/java/dev/slimevr/vr/trackers/udp/Device.java index 34177a936..6b3397eef 100644 --- a/src/main/java/dev/slimevr/vr/trackers/udp/Device.java +++ b/src/main/java/dev/slimevr/vr/trackers/udp/Device.java @@ -1,18 +1,18 @@ package dev.slimevr.vr.trackers.udp; +import dev.slimevr.NetworkProtocol; +import dev.slimevr.vr.trackers.IMUTracker; + import java.net.InetAddress; import java.net.SocketAddress; import java.util.HashMap; import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; -import dev.slimevr.NetworkProtocol; -import dev.slimevr.vr.trackers.IMUTracker; - public class Device { public static final AtomicInteger nextLocalDeviceId = new AtomicInteger(); - + public final int id; public Map sensors = new HashMap<>(); public SocketAddress address; public InetAddress ipAddress; @@ -27,7 +27,6 @@ public class Device { public NetworkProtocol protocol = null; public int firmwareBuild = 0; public boolean timedOut = false; - public final int id; public Device(SocketAddress address, InetAddress ipAddress) { this.address = address; diff --git a/src/main/java/dev/slimevr/vr/trackers/udp/SensorSpecificPacket.java b/src/main/java/dev/slimevr/vr/trackers/udp/SensorSpecificPacket.java index 4a36abf18..2d978af73 100644 --- a/src/main/java/dev/slimevr/vr/trackers/udp/SensorSpecificPacket.java +++ b/src/main/java/dev/slimevr/vr/trackers/udp/SensorSpecificPacket.java @@ -2,15 +2,15 @@ package dev.slimevr.vr.trackers.udp; public interface SensorSpecificPacket { - public int getSensorId(); - /** * Sensor with id 255 is "global" representing a whole device * * @param sensorId * @return */ - public static boolean isGlobal(int sensorId) { + static boolean isGlobal(int sensorId) { return sensorId == 255; } + + int getSensorId(); } diff --git a/src/main/java/dev/slimevr/vr/trackers/udp/TrackersUDPServer.java b/src/main/java/dev/slimevr/vr/trackers/udp/TrackersUDPServer.java index d2b50caa4..c80887b90 100644 --- a/src/main/java/dev/slimevr/vr/trackers/udp/TrackersUDPServer.java +++ b/src/main/java/dev/slimevr/vr/trackers/udp/TrackersUDPServer.java @@ -1,41 +1,25 @@ package dev.slimevr.vr.trackers.udp; -import java.io.IOException; -import java.net.DatagramPacket; -import java.net.DatagramSocket; -import java.net.Inet6Address; -import java.net.InetAddress; -import java.net.InetSocketAddress; -import java.net.NetworkInterface; -import java.net.SocketAddress; -import java.net.SocketTimeoutException; -import java.nio.ByteBuffer; -import java.nio.ByteOrder; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Random; -import java.util.function.Consumer; - -import dev.slimevr.vr.trackers.IMUTracker; -import dev.slimevr.vr.trackers.ReferenceAdjustedTracker; -import dev.slimevr.vr.trackers.Tracker; -import dev.slimevr.vr.trackers.TrackerStatus; -import org.apache.commons.lang3.ArrayUtils; - import com.jme3.math.FastMath; import com.jme3.math.Quaternion; import com.jme3.math.Vector3f; - import dev.slimevr.Main; import dev.slimevr.NetworkProtocol; +import dev.slimevr.vr.trackers.IMUTracker; +import dev.slimevr.vr.trackers.ReferenceAdjustedTracker; +import dev.slimevr.vr.trackers.Tracker; +import dev.slimevr.vr.trackers.TrackerStatus; import io.eiren.util.Util; import io.eiren.util.collections.FastList; import io.eiren.util.logging.LogManager; +import org.apache.commons.lang3.ArrayUtils; + +import java.io.IOException; +import java.net.*; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; +import java.util.*; +import java.util.function.Consumer; /** * Receives trackers data by UDP using extended owoTrack protocol. @@ -90,6 +74,19 @@ public class TrackersUDPServer extends Thread { } } + private static String packetToString(DatagramPacket packet) { + StringBuilder sb = new StringBuilder(); + sb.append("DatagramPacket{"); + sb.append(packet.getAddress().toString()); + sb.append(packet.getPort()); + sb.append(','); + sb.append(packet.getLength()); + sb.append(','); + sb.append(ArrayUtils.toString(packet.getData())); + sb.append('}'); + return sb.toString(); + } + private void setUpNewConnection(DatagramPacket handshakePacket, UDPPacket3Handshake handshake) throws IOException { LogManager.log.info("[TrackerServer] Handshake received from " + handshakePacket.getAddress() + ":" + handshakePacket.getPort()); InetAddress addr = handshakePacket.getAddress(); @@ -239,7 +236,7 @@ public class TrackersUDPServer extends Thread { if (conn.serialBuffer.length() > 0) { if (conn.lastSerialUpdate + 500L < System.currentTimeMillis()) { serialBuffer2.append('[').append(conn.name).append("] ").append(conn.serialBuffer); - System.out.println(serialBuffer2.toString()); + System.out.println(serialBuffer2); serialBuffer2.setLength(0); conn.serialBuffer.setLength(0); } @@ -419,19 +416,6 @@ public class TrackersUDPServer extends Thread { } } - private static String packetToString(DatagramPacket packet) { - StringBuilder sb = new StringBuilder(); - sb.append("DatagramPacket{"); - sb.append(packet.getAddress().toString()); - sb.append(packet.getPort()); - sb.append(','); - sb.append(packet.getLength()); - sb.append(','); - sb.append(ArrayUtils.toString(packet.getData())); - sb.append('}'); - return sb.toString(); - } - public List getConnections() { return connections; } diff --git a/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket.java b/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket.java index e04b395b9..b3b75e2b7 100644 --- a/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket.java +++ b/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket.java @@ -5,26 +5,6 @@ import java.nio.ByteBuffer; public abstract class UDPPacket { - public abstract int getPacketId(); - - public abstract void readData(ByteBuffer buf) throws IOException; - - public abstract void writeData(ByteBuffer buf) throws IOException; - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append(getClass().getSimpleName()); - sb.append('{'); - sb.append(getPacketId()); - if (this instanceof SensorSpecificPacket) { - sb.append(",sensor:"); - sb.append(((SensorSpecificPacket) this).getSensorId()); - } - sb.append('}'); - return sb.toString(); - } - /** * Naively read null-terminated ASCII string from the byte buffer * @@ -69,4 +49,23 @@ public abstract class UDPPacket { buf.put((byte) 0); } + public abstract int getPacketId(); + + public abstract void readData(ByteBuffer buf) throws IOException; + + public abstract void writeData(ByteBuffer buf) throws IOException; + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()); + sb.append('{'); + sb.append(getPacketId()); + if (this instanceof SensorSpecificPacket) { + sb.append(",sensor:"); + sb.append(((SensorSpecificPacket) this).getSensorId()); + } + sb.append('}'); + return sb.toString(); + } } diff --git a/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket10PingPong.java b/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket10PingPong.java index 2942ea697..ae4ab615f 100644 --- a/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket10PingPong.java +++ b/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket10PingPong.java @@ -28,5 +28,4 @@ public class UDPPacket10PingPong extends UDPPacket { public void writeData(ByteBuffer buf) throws IOException { buf.putInt(pingId); } - } diff --git a/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket11Serial.java b/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket11Serial.java index a27220a4a..cb6e222a0 100644 --- a/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket11Serial.java +++ b/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket11Serial.java @@ -30,5 +30,4 @@ public class UDPPacket11Serial extends UDPPacket { public void writeData(ByteBuffer buf) throws IOException { // Never sent back in current protocol } - } diff --git a/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket13Tap.java b/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket13Tap.java index 2f32407ee..f43e23495 100644 --- a/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket13Tap.java +++ b/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket13Tap.java @@ -1,10 +1,10 @@ package dev.slimevr.vr.trackers.udp; +import dev.slimevr.vr.trackers.SensorTap; + import java.io.IOException; import java.nio.ByteBuffer; -import dev.slimevr.vr.trackers.SensorTap; - public class UDPPacket13Tap extends UDPPacket implements SensorSpecificPacket { public int sensorId; diff --git a/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket14Error.java b/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket14Error.java index 05f02a639..40df3a0c3 100644 --- a/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket14Error.java +++ b/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket14Error.java @@ -31,5 +31,4 @@ public class UDPPacket14Error extends UDPPacket implements SensorSpecificPacket public int getSensorId() { return sensorId; } - } diff --git a/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket15SensorInfo.java b/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket15SensorInfo.java index 54e5d06d3..69021fc63 100644 --- a/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket15SensorInfo.java +++ b/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket15SensorInfo.java @@ -1,10 +1,10 @@ package dev.slimevr.vr.trackers.udp; +import dev.slimevr.vr.trackers.TrackerStatus; + import java.io.IOException; import java.nio.ByteBuffer; -import dev.slimevr.vr.trackers.TrackerStatus; - public class UDPPacket15SensorInfo extends UDPPacket implements SensorSpecificPacket { public int sensorId; @@ -14,6 +14,18 @@ public class UDPPacket15SensorInfo extends UDPPacket implements SensorSpecificPa public UDPPacket15SensorInfo() { } + public static TrackerStatus getStatus(int sensorStatus) { + switch (sensorStatus) { + case 0: + return TrackerStatus.DISCONNECTED; + case 1: + return TrackerStatus.OK; + case 2: + return TrackerStatus.ERROR; + } + return null; + } + @Override public int getPacketId() { return 15; @@ -36,17 +48,4 @@ public class UDPPacket15SensorInfo extends UDPPacket implements SensorSpecificPa public int getSensorId() { return sensorId; } - - public static TrackerStatus getStatus(int sensorStatus) { - switch (sensorStatus) { - case 0: - return TrackerStatus.DISCONNECTED; - case 1: - return TrackerStatus.OK; - case 2: - return TrackerStatus.ERROR; - } - return null; - } - } diff --git a/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket17RotationData.java b/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket17RotationData.java index 11725fd72..c39733902 100644 --- a/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket17RotationData.java +++ b/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket17RotationData.java @@ -1,18 +1,17 @@ package dev.slimevr.vr.trackers.udp; +import com.jme3.math.Quaternion; + import java.io.IOException; import java.nio.ByteBuffer; -import com.jme3.math.Quaternion; - public class UDPPacket17RotationData extends UDPPacket implements SensorSpecificPacket { public static final int DATA_TYPE_NORMAL = 1; public static final int DATA_TYPE_CORRECTION = 2; - + public final Quaternion rotation = new Quaternion(); public int sensorId; public int dataType; - public final Quaternion rotation = new Quaternion(); public int calibrationInfo; public UDPPacket17RotationData() { diff --git a/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket1Rotation.java b/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket1Rotation.java index b5fa68c9f..8154c140f 100644 --- a/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket1Rotation.java +++ b/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket1Rotation.java @@ -1,10 +1,10 @@ package dev.slimevr.vr.trackers.udp; +import com.jme3.math.Quaternion; + import java.io.IOException; import java.nio.ByteBuffer; -import com.jme3.math.Quaternion; - public class UDPPacket1Rotation extends UDPPacket implements SensorSpecificPacket { public final Quaternion rotation = new Quaternion(); diff --git a/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket200ProtocolChange.java b/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket200ProtocolChange.java index d83fa4e6f..319ce49d2 100644 --- a/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket200ProtocolChange.java +++ b/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket200ProtocolChange.java @@ -27,5 +27,4 @@ public class UDPPacket200ProtocolChange extends UDPPacket { buf.put((byte) targetProtocol); buf.put((byte) targetProtocolVersion); } - } diff --git a/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket20Temperature.java b/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket20Temperature.java index 1e35af939..11697b20a 100644 --- a/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket20Temperature.java +++ b/src/main/java/dev/slimevr/vr/trackers/udp/UDPPacket20Temperature.java @@ -31,5 +31,4 @@ public class UDPPacket20Temperature extends UDPPacket implements SensorSpecificP public int getSensorId() { return sensorId; } - } diff --git a/src/main/java/dev/slimevr/vr/trackers/udp/UDPProtocolParser.java b/src/main/java/dev/slimevr/vr/trackers/udp/UDPProtocolParser.java index 3b62be4fd..887761674 100644 --- a/src/main/java/dev/slimevr/vr/trackers/udp/UDPProtocolParser.java +++ b/src/main/java/dev/slimevr/vr/trackers/udp/UDPProtocolParser.java @@ -3,6 +3,7 @@ package dev.slimevr.vr.trackers.udp; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.nio.ByteBuffer; +import java.nio.charset.StandardCharsets; public class UDPProtocolParser { @@ -32,6 +33,12 @@ public class UDPProtocolParser { private static final byte[] HANDSHAKE_BUFFER = new byte[64]; + static { + HANDSHAKE_BUFFER[0] = 3; + byte[] str = "Hey OVR =D 5".getBytes(StandardCharsets.US_ASCII); + System.arraycopy(str, 0, HANDSHAKE_BUFFER, 1, str.length); + } + public UDPProtocolParser() { } @@ -105,14 +112,4 @@ public class UDPProtocolParser { } return null; } - - static { - try { - HANDSHAKE_BUFFER[0] = 3; - byte[] str = "Hey OVR =D 5".getBytes("ASCII"); - System.arraycopy(str, 0, HANDSHAKE_BUFFER, 1, str.length); - } catch (UnsupportedEncodingException e) { - throw new AssertionError(e); - } - } } diff --git a/src/main/java/dev/slimevr/websocketapi/WebSocketVRBridge.java b/src/main/java/dev/slimevr/websocketapi/WebSocketVRBridge.java index 49e03bad0..607ccea70 100644 --- a/src/main/java/dev/slimevr/websocketapi/WebSocketVRBridge.java +++ b/src/main/java/dev/slimevr/websocketapi/WebSocketVRBridge.java @@ -1,26 +1,20 @@ package dev.slimevr.websocketapi; -import java.util.List; -import java.util.concurrent.atomic.AtomicBoolean; - +import com.jme3.math.Quaternion; +import com.jme3.math.Vector3f; +import dev.slimevr.Main; +import dev.slimevr.VRServer; import dev.slimevr.bridge.Bridge; +import dev.slimevr.vr.trackers.*; +import io.eiren.util.collections.FastList; +import io.eiren.util.logging.LogManager; import org.java_websocket.WebSocket; import org.java_websocket.handshake.ClientHandshake; import org.json.JSONException; import org.json.JSONObject; -import com.jme3.math.Quaternion; -import com.jme3.math.Vector3f; - -import dev.slimevr.Main; -import dev.slimevr.VRServer; -import dev.slimevr.vr.trackers.ComputedTracker; -import dev.slimevr.vr.trackers.HMDTracker; -import dev.slimevr.vr.trackers.ShareableTracker; -import dev.slimevr.vr.trackers.Tracker; -import dev.slimevr.vr.trackers.TrackerStatus; -import io.eiren.util.collections.FastList; -import io.eiren.util.logging.LogManager; +import java.util.List; +import java.util.concurrent.atomic.AtomicBoolean; public class WebSocketVRBridge extends WebsocketAPI implements Bridge { @@ -97,7 +91,7 @@ public class WebSocketVRBridge extends WebsocketAPI implements Bridge { parseAction(json, conn); return; case "config": // TODO Ignore it for now, it should only register HMD in our test case with id 0 - LogManager.log.info("[WebSocket] Config received: " + json.toString()); + LogManager.log.info("[WebSocket] Config received: " + json); return; } } diff --git a/src/main/java/dev/slimevr/websocketapi/WebsocketAPI.java b/src/main/java/dev/slimevr/websocketapi/WebsocketAPI.java index d2da4ee7e..f313bd296 100644 --- a/src/main/java/dev/slimevr/websocketapi/WebsocketAPI.java +++ b/src/main/java/dev/slimevr/websocketapi/WebsocketAPI.java @@ -13,18 +13,18 @@ import org.java_websocket.server.WebSocketServer; import java.net.InetSocketAddress; import java.nio.ByteBuffer; -import java.util.*; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; public class WebsocketAPI extends WebSocketServer implements ProtocolAPIServer { - private final Map websocketConnections = new HashMap<>(); - public final VRServer server; public final ProtocolAPI protocolAPI; - + private final Map websocketConnections = new HashMap<>(); public WebsocketAPI(VRServer server, ProtocolAPI protocolAPI) { - super(new InetSocketAddress(21110), Collections.singletonList(new Draft_6455())); + super(new InetSocketAddress(21110), Collections.singletonList(new Draft_6455())); this.server = server; this.protocolAPI = protocolAPI; @@ -36,7 +36,6 @@ public class WebsocketAPI extends WebSocketServer implements ProtocolAPIServer { LogManager.log.info("[WebSocketAPI] New connection from: " + conn.getRemoteSocketAddress().getAddress().getHostAddress()); this.websocketConnections.put(conn.hashCode(), new WebsocketConnection(conn)); - } @Override diff --git a/src/test/java/dev/slimevr/unit/ReferenceAdjustmentsTests.java b/src/test/java/dev/slimevr/unit/ReferenceAdjustmentsTests.java index 890ebc817..c96f6c57b 100644 --- a/src/test/java/dev/slimevr/unit/ReferenceAdjustmentsTests.java +++ b/src/test/java/dev/slimevr/unit/ReferenceAdjustmentsTests.java @@ -2,23 +2,22 @@ package dev.slimevr.unit; import com.jme3.math.FastMath; import com.jme3.math.Quaternion; - import dev.slimevr.vr.processor.TransformNode; import dev.slimevr.vr.trackers.ComputedTracker; import dev.slimevr.vr.trackers.ReferenceAdjustedTracker; import dev.slimevr.vr.trackers.Tracker; import io.eiren.math.FloatMath; import io.eiren.util.StringUtils; - -import static org.junit.jupiter.api.Assertions.*; -import static org.junit.jupiter.api.DynamicTest.dynamicTest; +import org.junit.jupiter.api.DynamicTest; +import org.junit.jupiter.api.TestFactory; import java.util.function.Function; import java.util.stream.IntStream; import java.util.stream.Stream; -import org.junit.jupiter.api.DynamicTest; -import org.junit.jupiter.api.TestFactory; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.DynamicTest.dynamicTest; /** * Tests {@link ReferenceAdjustedTracker#resetFull(Quaternion)} @@ -39,6 +38,26 @@ public class ReferenceAdjustmentsTests { ))).flatMap(Function.identity()).flatMap(Function.identity()); } + private static String name(int yaw, int pitch, int roll, float[] angles, float[] anglesAdj, float[] anglesDiff) { + return "Rot: " + yaw + "/" + pitch + "/" + roll + ". " + + "Angles: " + StringUtils.prettyNumber(angles[0] * FastMath.RAD_TO_DEG, 1) + "/" + StringUtils.prettyNumber(anglesAdj[0] * FastMath.RAD_TO_DEG, 1) + ", " + + StringUtils.prettyNumber(angles[1] * FastMath.RAD_TO_DEG, 1) + "/" + StringUtils.prettyNumber(anglesAdj[1] * FastMath.RAD_TO_DEG, 1) + ", " + + StringUtils.prettyNumber(angles[2] * FastMath.RAD_TO_DEG, 1) + "/" + StringUtils.prettyNumber(anglesAdj[2] * FastMath.RAD_TO_DEG, 1) + ". Diff: " + + StringUtils.prettyNumber(anglesDiff[0] * FastMath.RAD_TO_DEG, 1) + ", " + + StringUtils.prettyNumber(anglesDiff[1] * FastMath.RAD_TO_DEG, 1) + ", " + + StringUtils.prettyNumber(anglesDiff[2] * FastMath.RAD_TO_DEG, 1); + } + + public static Quaternion q(float pitch, float yaw, float roll) { + return new Quaternion().fromAngles(pitch * FastMath.DEG_TO_RAD, yaw * FastMath.DEG_TO_RAD, roll * FastMath.DEG_TO_RAD); + } + + public static String toDegs(Quaternion q) { + float[] degs = new float[3]; + q.toAngles(degs); + return StringUtils.prettyNumber(degs[0] * FastMath.RAD_TO_DEG, 0) + "," + StringUtils.prettyNumber(degs[1] * FastMath.RAD_TO_DEG, 0) + "," + StringUtils.prettyNumber(degs[2] * FastMath.RAD_TO_DEG, 0); + } + @TestFactory Stream getTestsYaw() { return getAnglesSet().map((p) -> @@ -158,26 +177,6 @@ public class ReferenceAdjustmentsTests { System.out.println("Errors: " + errors + ", successes: " + successes); } - private static String name(int yaw, int pitch, int roll, float[] angles, float[] anglesAdj, float[] anglesDiff) { - return "Rot: " + yaw + "/" + pitch + "/" + roll + ". " - + "Angles: " + StringUtils.prettyNumber(angles[0] * FastMath.RAD_TO_DEG, 1) + "/" + StringUtils.prettyNumber(anglesAdj[0] * FastMath.RAD_TO_DEG, 1) + ", " - + StringUtils.prettyNumber(angles[1] * FastMath.RAD_TO_DEG, 1) + "/" + StringUtils.prettyNumber(anglesAdj[1] * FastMath.RAD_TO_DEG, 1) + ", " - + StringUtils.prettyNumber(angles[2] * FastMath.RAD_TO_DEG, 1) + "/" + StringUtils.prettyNumber(anglesAdj[2] * FastMath.RAD_TO_DEG, 1) + ". Diff: " - + StringUtils.prettyNumber(anglesDiff[0] * FastMath.RAD_TO_DEG, 1) + ", " - + StringUtils.prettyNumber(anglesDiff[1] * FastMath.RAD_TO_DEG, 1) + ", " - + StringUtils.prettyNumber(anglesDiff[2] * FastMath.RAD_TO_DEG, 1); - } - - public static Quaternion q(float pitch, float yaw, float roll) { - return new Quaternion().fromAngles(pitch * FastMath.DEG_TO_RAD, yaw * FastMath.DEG_TO_RAD, roll * FastMath.DEG_TO_RAD); - } - - public static String toDegs(Quaternion q) { - float[] degs = new float[3]; - q.toAngles(degs); - return StringUtils.prettyNumber(degs[0] * FastMath.RAD_TO_DEG, 0) + "," + StringUtils.prettyNumber(degs[1] * FastMath.RAD_TO_DEG, 0) + "," + StringUtils.prettyNumber(degs[2] * FastMath.RAD_TO_DEG, 0); - } - private static class QuatEqualYawWithEpsilon { private final Quaternion q;