Added support for VIEW command in MATLAB client.
This commit is contained in:
Binary file not shown.
35
MATLAB/+XPlaneConnect/sendVIEW.m
Normal file
35
MATLAB/+XPlaneConnect/sendVIEW.m
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
function sendVIEW(view, socket)
|
||||||
|
% sendVIEW Sets the camera
|
||||||
|
%
|
||||||
|
%Inputs
|
||||||
|
% view: The view to use.
|
||||||
|
% socket (optional): The client to use when sending the command.
|
||||||
|
%
|
||||||
|
%Use
|
||||||
|
% 1. import XPlaneConnect.*;
|
||||||
|
% 2. sendView(Forwards);
|
||||||
|
%
|
||||||
|
% Contributors
|
||||||
|
% [JW] Jason Watkins <jason.w.watkins@nasa.gov>
|
||||||
|
|
||||||
|
import XPlaneConnect.*
|
||||||
|
|
||||||
|
%% Get client
|
||||||
|
global clients;
|
||||||
|
if ~exist('socket', 'var')
|
||||||
|
assert(isequal(length(clients) < 2, 1), '[pauseSim] ERROR: Multiple clients open. You must specify which client to use.');
|
||||||
|
if isempty(clients)
|
||||||
|
socket = openUDP();
|
||||||
|
else
|
||||||
|
socket = clients(1);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
%% Validate input
|
||||||
|
|
||||||
|
|
||||||
|
%% Send command
|
||||||
|
socket.sendVIEW(view)
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
26
TestScripts/MATLAB Tests/sendVIEWTest.m
Normal file
26
TestScripts/MATLAB Tests/sendVIEWTest.m
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
function sendVIEWTest()
|
||||||
|
%% Setup
|
||||||
|
addpath('../../MATLAB')
|
||||||
|
import XPlaneConnect.*
|
||||||
|
|
||||||
|
if ~exist('gov.nasa.xpc.ViewType', 'class')
|
||||||
|
[folder, ~, ~] = fileparts(which('XPlaneConnect.openUDP'));
|
||||||
|
javaaddpath(fullfile(folder, 'XPlaneConnect.jar'));
|
||||||
|
end
|
||||||
|
|
||||||
|
dref = 'sim/graphics/view/view_type';
|
||||||
|
fwd = 1000;
|
||||||
|
chase = 1017;
|
||||||
|
|
||||||
|
%% Excecute
|
||||||
|
sendVIEW(gov.nasa.xpc.ViewType.Forwards);
|
||||||
|
result = getDREFs(dref);
|
||||||
|
assert(isequal(result, fwd))
|
||||||
|
|
||||||
|
sendVIEW(gov.nasa.xpc.ViewType.Chase);
|
||||||
|
result = getDREFs(dref);
|
||||||
|
assert(isequal(result, chase))
|
||||||
|
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
@@ -18,6 +18,7 @@ theTests = {{@openCloseTest, 'Open/Close Test', 0},...
|
|||||||
{@CTRLTest,'CTRL Test', 0},...
|
{@CTRLTest,'CTRL Test', 0},...
|
||||||
{@POSITest,'POSI Test', 0},...
|
{@POSITest,'POSI Test', 0},...
|
||||||
{@sendWYPTTest,'WYPT Test', 0},...
|
{@sendWYPTTest,'WYPT Test', 0},...
|
||||||
|
{@sendVIEWTest,'VIEW Test', 0},...
|
||||||
{@pauseTest,'Pause Test', 0},...
|
{@pauseTest,'Pause Test', 0},...
|
||||||
{@setConnTest, 'setConn Test', 0}};
|
{@setConnTest, 'setConn Test', 0}};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user