FREObject KinectDevice::freSetSkeletonMode(FREObject argv[]) { asSkeletonMirrored = createBoolFromFREObject(argv[1]); asSeatedSkeletonEnabled = createBoolFromFREObject(argv[2]); asChooseSkeletonsEnabled = createBoolFromFREObject(argv[3]); return NULL; }
FREObject LeapNative_enableGesture(FREContext ctx, void* funcData, uint32_t argc, FREObject argv[]) { leapnative::LNLeapDevice* device; FREGetContextNativeData(ctx, (void **) &device); int gestureClassType; FREGetObjectAsInt32(argv[0], &gestureClassType); bool gestureEnabled = createBoolFromFREObject(argv[1]); std::cout << "LeapNative_enableGesture called: " << gestureClassType << std::endl; switch (gestureClassType) { case 5: device->controller->enableGesture(Gesture::TYPE_SWIPE, gestureEnabled); break; case 6: device->controller->enableGesture(Gesture::TYPE_CIRCLE, gestureEnabled); break; case 7: device->controller->enableGesture(Gesture::TYPE_SCREEN_TAP, gestureEnabled); break; case 8: device->controller->enableGesture(Gesture::TYPE_KEY_TAP, gestureEnabled); break; default: std::cout << "LeapNative_enableGesture: invalid argument" << std::endl; break; } return NULL; }
FREObject LeapNative_getScreenProject(FREContext ctx, void* funcData, uint32_t argc, FREObject argv[]) { leapnative::LNLeapDevice* device; FREGetContextNativeData(ctx, (void **) &device); int screenId; FREGetObjectAsInt32(argv[0], &screenId); double pX; FREGetObjectAsDouble(argv[1], &pX); double pY; FREGetObjectAsDouble(argv[2], &pY); double pZ; FREGetObjectAsDouble(argv[3], &pZ); bool normalize = createBoolFromFREObject(argv[4]); double clampRatio; FREGetObjectAsDouble(argv[5], &clampRatio); Vector position = Vector((float) pX, (float) pY, (float) pZ); return device->getScreenProject(screenId, position, normalize, (float) clampRatio); }
FREObject KinectDevice::freSetPointCloudMode(FREObject argv[]) { lockPointCloudMutex(); unsigned int width; FREGetObjectAsUint32(argv[1], &width); unsigned int height; FREGetObjectAsUint32(argv[2], &height); unsigned int density; FREGetObjectAsUint32(argv[4], &density); pointCloudGenerator->setTargetSize(width, height); pointCloudGenerator->setTargetDensity(density); pointCloudGenerator->setIncludeRGB(createBoolFromFREObject(argv[5])); pointCloudGenerator->setTargetMirrored(createBoolFromFREObject(argv[3])); unlockPointCloudMutex(); return NULL; }
FREObject KinectDevice::freSetUserColor(FREObject argv[]) { unsigned int userID = createUnsignedIntFromFREObject(argv[1]); unsigned int color = createUnsignedIntFromFREObject(argv[2]); bool useIntensity = createBoolFromFREObject(argv[3]); setUserColor(userID, color, useIntensity); return NULL; }
FREObject KinectDevice::freSetInfraredMode(FREObject argv[]) { unsigned int width; FREGetObjectAsUint32(argv[1], &width); unsigned int height; FREGetObjectAsUint32(argv[2], &height); lockInfraredMutex(); infraredImageBytesGenerator->setTargetSize(width, height); infraredImageBytesGenerator->setTargetMirrored(createBoolFromFREObject(argv[3])); unlockInfraredMutex(); return NULL; }
FREObject KinectDevice::freSetPointCloudEnabled(FREObject argv[]) { asPointCloudEnabled = createBoolFromFREObject(argv[1]); return NULL; }
FREObject KinectDevice::freSetRGBEnabled(FREObject argv[]) { asRGBEnabled = createBoolFromFREObject(argv[1]); return NULL; }
FREObject KinectDevice::freSetRGBMode(FREObject argv[]) { unsigned int width; FREGetObjectAsUint32(argv[1], &width); unsigned int height; FREGetObjectAsUint32(argv[2], &height); lockRGBMutex(); setRGBMode(rgbImageBytesGenerator->getSourceWidth(), rgbImageBytesGenerator->getSourceHeight(), width, height, createBoolFromFREObject(argv[3])); unlockRGBMutex(); return NULL; }
FREObject KinectDevice::freSetHandTrackingEnabled(FREObject argv[]) { asHandTrackingEnabled = createBoolFromFREObject(argv[1]); return NULL; }
FREObject KinectDevice::freSetHandTrackingMode(FREObject argv[]) { asHandTrackingMirrored = createBoolFromFREObject(argv[1]); return NULL; }
FREObject KinectDevice::freSetDepthShowUserColors(FREObject argv[]) { asDepthShowUserColors = createBoolFromFREObject(argv[1]); return NULL; }
FREObject KinectDevice::freSetUserMode(FREObject argv[]) { asUserMirrored = createBoolFromFREObject(argv[1]); return NULL; }