예제 #1
0
FREObject KinectDevice::freSetSkeletonMode(FREObject argv[])
{
	asSkeletonMirrored = createBoolFromFREObject(argv[1]);
	asSeatedSkeletonEnabled = createBoolFromFREObject(argv[2]);
	asChooseSkeletonsEnabled = createBoolFromFREObject(argv[3]);
    return NULL;
}
예제 #2
0
 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;
 }
예제 #3
0
 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);
 }
예제 #4
0
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;
}
예제 #5
0
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;
}
예제 #6
0
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;
}
예제 #7
0
FREObject KinectDevice::freSetPointCloudEnabled(FREObject argv[])
{
    asPointCloudEnabled = createBoolFromFREObject(argv[1]);
    return NULL;
}
예제 #8
0
FREObject KinectDevice::freSetRGBEnabled(FREObject argv[])
{
    asRGBEnabled = createBoolFromFREObject(argv[1]);
    return NULL;
}
예제 #9
0
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;
}
예제 #10
0
FREObject KinectDevice::freSetHandTrackingEnabled(FREObject argv[])
{
    asHandTrackingEnabled = createBoolFromFREObject(argv[1]);
    return NULL;
}
예제 #11
0
FREObject KinectDevice::freSetHandTrackingMode(FREObject argv[])
{
	asHandTrackingMirrored = createBoolFromFREObject(argv[1]);
    return NULL;
}
예제 #12
0
FREObject KinectDevice::freSetDepthShowUserColors(FREObject argv[])
{
    asDepthShowUserColors = createBoolFromFREObject(argv[1]);
    return NULL;
}
예제 #13
0
FREObject KinectDevice::freSetUserMode(FREObject argv[])
{
	asUserMirrored = createBoolFromFREObject(argv[1]);
    return NULL;
}