Subversion Repositories seema-scanner

Rev

Rev 74 | Rev 155 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 74 Rev 154
Line 65... Line 65...
65
    if (!strcmp("delete", cmd)) {
65
    if (!strcmp("delete", cmd)) {
66
        // Destroy the C++ object
66
        // Destroy the C++ object
67
        destroyObject<Camera>(prhs[1]);
67
        destroyObject<Camera>(prhs[1]);
68
        // Warn if other commands were ignored
68
        // Warn if other commands were ignored
69
        if (nlhs != 0 || nrhs != 2)
69
        if (nlhs != 0 || nrhs != 2)
70
            mexWarnMsgTxt("Delete: Unexpected arguments ignored.");
70
            mexWarnMsgTxt("Delete: Unexpected/missing arguments ignored.");
71
        return;
71
        return;
72
    }
72
    }
73
    
73
    
74
    // Get the class instance pointer from the second input
74
    // Get the class instance pointer from the second input
75
    Camera *Camera_instance = convertMat2Ptr<Camera>(prhs[1]);
75
    Camera *Camera_instance = convertMat2Ptr<Camera>(prhs[1]);
76
    
76
    
77
	// Call the various class methods
77
	// Call the various class methods
78
    // startCapture
78
    // startCapture
79
    if (!strcmp("startCapture", cmd)) {
79
    if (!strcmp("startCapture", cmd)) {
80
        // Check parameters
80
        // Check parameters
81
        if (nlhs > 0 || nrhs > 2)
81
        if (nlhs != 0 || nrhs != 2)
82
            mexErrMsgTxt("startCapture: Unexpected arguments.");
82
            mexErrMsgTxt("startCapture: Unexpected/missing arguments.");
83
        // Call the method
83
        // Call the method
84
        Camera_instance->startCapture();
84
        Camera_instance->startCapture();
85
        return;
85
        return;
86
    }
86
    }
87
    
87
    
88
	// Call the various class methods
88
	// Call the various class methods
89
    // stopCapture
89
    // stopCapture
90
    if (!strcmp("stopCapture", cmd)) {
90
    if (!strcmp("stopCapture", cmd)) {
91
        // Check parameters
91
        // Check parameters
92
        if (nlhs > 0 || nrhs > 2)
92
        if (nlhs != 0 || nrhs != 2)
93
            mexErrMsgTxt("stopCapture: Unexpected arguments.");
93
            mexErrMsgTxt("stopCapture: Unexpected/missing arguments.");
94
        // Call the method
94
        // Call the method
95
        Camera_instance->stopCapture();
95
        Camera_instance->stopCapture();
96
        return;
96
        return;
97
    }
97
    }
98
    
98
    
99
	// trigger
99
	// trigger
100
    if (!strcmp("trigger", cmd)) {
100
    if (!strcmp("trigger", cmd)) {
101
        // Check parameters
101
        // Check parameters
102
        if (nlhs > 0 || nrhs > 2)
102
        if (nlhs != 0 || nrhs != 2)
103
            mexErrMsgTxt("trigger: Unexpected arguments.");
103
            mexErrMsgTxt("trigger: Unexpected/missing arguments.");
104
        // Call the method
104
        // Call the method
105
        Camera_instance->trigger();
105
        Camera_instance->trigger();
106
        return;
106
        return;
107
    }
107
    }
108
    
108
    
109
    // Call the various class methods
109
    // Call the various class methods
110
    // getFrame
110
    // getFrame
111
    if (!strcmp("getFrame", cmd)) {
111
    if (!strcmp("getFrame", cmd)) {
112
        // Check parameters
112
        // Check parameters
113
        if (nlhs < 1 || nrhs > 2)
113
        if (nlhs != 1 || nrhs != 2)
114
            mexErrMsgTxt("getFrame: Unexpected arguments.");
114
            mexErrMsgTxt("getFrame: Unexpected/missing arguments.");
115
        // Call the method
115
        // Call the method
116
        CameraFrame frame = Camera_instance->getFrame();
116
        CameraFrame frame = Camera_instance->getFrame();
117
        // receive frame data in permuted dimensional order
117
        // receive frame data in permuted dimensional order
118
        int dims[] = {frame.channels, frame.width, frame.height};
118
        int dims[] = {frame.channels, frame.width, frame.height};
119
        plhs[0] = mxCreateNumericArray(3, dims, mxUINT8_CLASS, mxREAL);
119
        plhs[0] = mxCreateNumericArray(3, dims, mxUINT8_CLASS, mxREAL);
120
        memcpy(mxGetData(plhs[0]), frame.memory, frame.height*frame.width*frame.channels);
120
        memcpy(mxGetData(plhs[0]), frame.memory, frame.height*frame.width*frame.channels);
121
        return;
121
        return;
122
    }
122
    }
-
 
123
    // setCameraSettings
-
 
124
    if (!strcmp("setCameraSettings", cmd)) {
-
 
125
        // Check parameters
-
 
126
        if (nlhs != 0 || nrhs != 4)
-
 
127
            mexErrMsgTxt("setCameraSettings: Unexpected/missing arguments.");
-
 
128
        // Call the method
-
 
129
		float gain = mxGetData(prhs[2]);
-
 
130
		float shutter = mxGetData(prhs[3]);
-
 
131
		CameraSettings settings(gain, shutter);
-
 
132
        CameraFrame frame = Camera_instance->setCameraSettings(settings);
-
 
133
        return;
-
 
134
    }
123
    
135
    
124
    // Got here, so command not recognized
136
    // Got here, so command not recognized
125
    mexErrMsgTxt("Command not recognized.");
137
    mexErrMsgTxt("Command not recognized.");
126
}
138
}