2.92 KB
Newer Older
1 2 3 4
## VAMatlab

VAMatlab is a binding to the VA interface for Matlab. It uses the VA network connection to forward commands and receive information to a VA server, usually the VAServer application.


6 7
### License

Copyright 2015-2017 Institute of Technical Acoustics (ITA), RWTH Aachen University
9 10 11 12 13 14 15 16 17 18 19 20

Licensed under the Apache License, Version 2.0 (the "License");
you may not use files of this project except in compliance with the License.
You may obtain a copy of the License at


Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.
21 22 23 24

### Quick build guide

25 26 27
#### Visual Studio

It is recommended to clone and follow the build guide of the parent project [VA](, which includes this project as a submodule.
Generate VA with the Matlab binding flag activated. It will generate the Matlab executable. You will then have to generate the itaVA Matlab facade class, see below.


31 32
#### Matlab executable

33 34
Open Matlab and run the script `VAMatlabExecutable_build.m`. 
It will create the *VAMatlab* Matlab executable, for win23-x64 the binding will have the name `VAMatlab.mexw64`.
35 36 37 38
There is a switch that can link the VACore into the Matlab executable, hence no external VA server application is required.
To activate this, the preprocessor flag `VAMATLAB_WITH_LOCAL_CORE` has to be defined and set to 1. Use the switch in the build script configuration section.
To also include a lightweight Optitrack tracker connection using the NatNetSDK, define the preprocessor flag `VAMATLAB_WITH_OPTITRACK` and set it to 1. Use the switch in the build script configuration section.


40 41
#### itaVA class

To ease usage, a facade class called `itaVA` can be generated that will also add volatile help on the available functionality of VA.
43 44
To create this Matlab class, run either `itaVA_build.m` after deploy of VA, or `itaVA_build_absolute.m` from the repository directory.
Both scripts will create a class file named `itaVA.m` based on stubs that are filled by calls to the VAMatlab executable, which has to be build prior.
> Make sure that Matlab will use the correct VA Matlab executable and not an older version of it which might have been added to the PATH of Matlab.


48 49
#### Deploy

50 51
If the deploy script is not used, manual deploy will include the following:

52 53 54 55 56 57 58
Deploying the Matlab executable will require to copy all necessary DLLs into a deploy directory (next to the VAMatlab executable file).
On Windows platform, provide the following files
 - VistaAspects.dll
 - VistaBase.dll
 - VistaInterProcComm.dll
 - VABase.dll
 - VANet.dll
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
59 60
 - NatNetSDK.dll (if with tracking)
 - VACore.dll (if with local core, as well as many more ... use DependencyWalker to identify missing files)