Even more use of Ref<>

This commit is contained in:
rodolpheh 2023-11-13 21:50:03 +00:00
parent 37cbc53fd0
commit 1fadb5bd21
8 changed files with 60 additions and 54 deletions

View File

@ -29,9 +29,9 @@ public:
UltraleapTypes::TrackingMode tracking_mode = UltraleapTypes::TrackingMode::Desktop;
Ref<UltraleapFrame> last_frame_ref = Ref<UltraleapFrame>(memnew(UltraleapFrame));
Ref<UltraleapImage> left_image_ref = Ref<UltraleapImage>(memnew(UltraleapImage));
Ref<UltraleapImage> right_image_ref = Ref<UltraleapImage>(memnew(UltraleapImage));
Ref<UltraleapFrame> last_frame_ref;
Ref<UltraleapImage> left_image_ref;
Ref<UltraleapImage> right_image_ref;
Variant get_last_frame();

View File

@ -217,16 +217,21 @@ void UltraleapDeviceNode::_notification(int p_what) {
return;
}
Ref<UltraleapFrame> new_frame = current_device->get_last_frame();
if (last_frame->id != new_frame->id) {
last_frame = new_frame;
emit_signal("frame_received", last_frame);
}
if (current_device->tracking_mode != tracking_mode) {
tracking_mode = current_device->tracking_mode;
emit_signal("tracking_mode_changed", current_device->tracking_mode);
}
Ref<UltraleapFrame> new_frame = current_device->get_last_frame();
if (new_frame == NULL) {
return;
}
if (last_frame == NULL || last_frame->id != new_frame->id) {
last_frame = new_frame;
emit_signal("frame_received", last_frame);
}
}
}

View File

@ -27,7 +27,7 @@ public:
UltraleapTypes::TrackingMode tracking_mode = UltraleapTypes::TrackingMode::Desktop;
Ref<UltraleapFrame> last_frame = Ref<UltraleapFrame>(memnew(UltraleapFrame));
Ref<UltraleapFrame> last_frame;
UltraleapTypes::TrackingMode get_tracking_mode() { return tracking_mode; }
void set_tracking_mode(UltraleapTypes::TrackingMode value);

View File

@ -39,17 +39,17 @@ public:
FingerType get_type() { return type; }
void set_type(FingerType value) { type = value; }
Variant get_metacarpal() { return metacarpal_ref; }
void set_metacarpal(Variant value) { metacarpal_ref = value; }
Ref<UltraleapBone> get_metacarpal() { return metacarpal_ref; }
void set_metacarpal(Ref<UltraleapBone> value) { metacarpal_ref = value; }
Variant get_proximal() { return proximal_ref; }
void set_proximal(Variant value) { proximal_ref = value; }
Ref<UltraleapBone> get_proximal() { return proximal_ref; }
void set_proximal(Ref<UltraleapBone> value) { proximal_ref = value; }
Variant get_intermediate() { return intermediate_ref; }
void set_intermediate(Variant value) { intermediate_ref = value; }
Ref<UltraleapBone> get_intermediate() { return intermediate_ref; }
void set_intermediate(Ref<UltraleapBone> value) { intermediate_ref = value; }
Variant get_distal() { return distal_ref; }
void set_distal(Variant value) { distal_ref = value; }
Ref<UltraleapBone> get_distal() { return distal_ref; }
void set_distal(Ref<UltraleapBone> value) { distal_ref = value; }
bool get_is_extended() { return is_extended; }
void set_is_extended(bool value) { is_extended = value; }

View File

@ -26,11 +26,11 @@ public:
float framerate;
Variant get_left_hand() { return left_hand_ref; }
void set_left_hand(Variant value) { return; }
Ref<UltraleapHand> get_left_hand() { return left_hand_ref; }
void set_left_hand(Ref<UltraleapHand> value) { return; }
Variant get_right_hand() { return right_hand_ref; }
void set_right_hand(Variant value) { return; }
Ref<UltraleapHand> get_right_hand() { return right_hand_ref; }
void set_right_hand(Ref<UltraleapHand> value) { return; }
bool get_is_left_hand_visible() { return is_left_hand_visible; }
void set_is_left_hand_visible(bool value) { return; }

View File

@ -60,26 +60,26 @@ public:
UltraleapTypes::Chirality get_type() { return type; }
void set_type(UltraleapTypes::Chirality value) { type = value; }
Variant get_thumb() { return digits_ref[0]; }
void set_thumb(Variant value) { digits_ref[0] = value; }
Ref<UltraleapDigit> get_thumb() { return digits_ref[0]; }
void set_thumb(Ref<UltraleapDigit> value) { digits_ref[0] = value; }
Variant get_index() { return digits_ref[1]; }
void set_index(Variant value) { digits_ref[1] = value; }
Ref<UltraleapDigit> get_index() { return digits_ref[1]; }
void set_index(Ref<UltraleapDigit> value) { digits_ref[1] = value; }
Variant get_middle() { return digits_ref[2]; }
void set_middle(Variant value) { digits_ref[2] = value; }
Ref<UltraleapDigit> get_middle() { return digits_ref[2]; }
void set_middle(Ref<UltraleapDigit> value) { digits_ref[2] = value; }
Variant get_ring() { return digits_ref[3]; }
void set_ring(Variant value) { digits_ref[3] = value; }
Ref<UltraleapDigit> get_ring() { return digits_ref[3]; }
void set_ring(Ref<UltraleapDigit> value) { digits_ref[3] = value; }
Variant get_pinky() { return digits_ref[4]; }
void set_pinky(Variant value) { digits_ref[4] = value; }
Ref<UltraleapDigit> get_pinky() { return digits_ref[4]; }
void set_pinky(Ref<UltraleapDigit> value) { digits_ref[4] = value; }
Variant get_arm() { return arm_ref; }
void set_arm(Variant value) { arm_ref = value; }
Ref<UltraleapBone> get_arm() { return arm_ref; }
void set_arm(Ref<UltraleapBone> value) { arm_ref = value; }
Variant get_palm() { return palm_ref; }
void set_palm(Variant value) { palm_ref = value; }
Ref<UltraleapPalm> get_palm() { return palm_ref; }
void set_palm(Ref<UltraleapPalm> value) { palm_ref = value; }
Array get_digits() {
if (digits_array.size() == 0) {

View File

@ -15,6 +15,7 @@
#include "frame.h"
#include "allocator.h"
#include "device.h"
#ifdef ANDROID_ENABLED
#include <android/log.h>
@ -802,11 +803,11 @@ void UltraleapHandTracking::set_primary_device(Ref<UltraleapDevice> device) {
}
}
Variant UltraleapHandTracking::get_primary_device() {
Ref<UltraleapDevice> UltraleapHandTracking::get_primary_device() {
return primary_device;
}
Variant UltraleapHandTracking::get_last_frame() {
Ref<UltraleapFrame> UltraleapHandTracking::get_last_frame() {
// Uuuuh... don't like this part
if (primary_device == NULL) {
return last_frame_ref;
@ -815,7 +816,7 @@ Variant UltraleapHandTracking::get_last_frame() {
return primary_device->get_last_frame();
}
Variant UltraleapHandTracking::get_left_image() {
Ref<UltraleapImage> UltraleapHandTracking::get_left_image() {
// Uuuuh... don't like this part
if (primary_device == NULL) {
return left_image_ref;
@ -824,7 +825,7 @@ Variant UltraleapHandTracking::get_left_image() {
return primary_device->get_left_image();
}
Variant UltraleapHandTracking::get_right_image() {
Ref<UltraleapImage> UltraleapHandTracking::get_right_image() {
// Uuuuh... don't like this part
if (primary_device == NULL) {
return right_image_ref;

View File

@ -47,34 +47,34 @@ public:
Ref<UltraleapImage> right_image_ref;
String service_ip = String("127.0.0.1");
uint32_t service_port = 12345;
uint16_t service_port = 12345;
bool autostart = true;
bool enable_images = true;
Variant get_last_frame();
void set_last_frame(Variant value) { return; }
Ref<UltraleapFrame> get_last_frame();
void set_last_frame(Ref<UltraleapFrame> value) { return; }
UltraleapTypes::TrackingMode get_tracking_mode();
void set_tracking_mode(UltraleapTypes::TrackingMode value);
Variant get_left_image();
Variant get_right_image();
Ref<UltraleapImage> get_left_image();
Ref<UltraleapImage> get_right_image();
Array get_devices() { return devices->devices; }
void set_devices(Array value) { devices->devices = value; }
Variant get_service_ip() { return service_ip; }
void set_service_ip(Variant value) { service_ip = value; }
String get_service_ip() { return service_ip; }
void set_service_ip(String value) { service_ip = value; }
Variant get_service_port() { return service_port; }
void set_service_port(Variant value) { service_port = value; }
int get_service_port() { return service_port; }
void set_service_port(int value) { service_port = value; }
Variant get_autostart() { return autostart; }
void set_autostart(Variant value) { autostart = value; }
bool get_autostart() { return autostart; }
void set_autostart(bool value) { autostart = value; }
Variant get_enable_images() { return enable_images; }
void set_enable_images(Variant value) { enable_images = value; }
bool get_enable_images() { return enable_images; }
void set_enable_images(bool value) { enable_images = value; }
bool is_connected() { return connected; }
bool is_started() { return started; }
@ -91,7 +91,7 @@ public:
// Set and get primary device
void set_primary_device(Ref<UltraleapDevice> device);
Variant get_primary_device();
Ref<UltraleapDevice> get_primary_device();
void set_pause(bool value);