├── .gitignore
├── Vicon
└── CrossMarket
│ ├── DataStream
│ ├── ViconCGStream
│ │ ├── Dummy.cpp
│ │ ├── ViconCGStream.ThirdParty.xml
│ │ ├── DynamicCameraCalibrationInfo.h
│ │ ├── IsEqual.h
│ │ ├── CameraWand2dDetail.h
│ │ ├── KeepAlive.h
│ │ ├── Item.h
│ │ ├── CameraWand3dDetail.h
│ │ ├── StopMulticastSender.h
│ │ ├── RequestNextFrame.h
│ │ ├── Ping.h
│ │ ├── RequestFrame.h
│ │ ├── ApexHaptics.h
│ │ ├── FrameRateInfo.h
│ │ ├── FrameInfo.h
│ │ ├── EdgePairsDetail.h
│ │ ├── LatencyInfo.h
│ │ ├── StreamInfo.h
│ │ ├── SubjectScaleDetail.h
│ │ ├── ObjectEnums.h
│ │ ├── HardwareFrameInfo.h
│ │ ├── LatencyInfoDetail.h
│ │ ├── LabeledRecons.h
│ │ ├── LabeledReconRayAssignments.h
│ │ ├── UnlabeledRecons.h
│ │ ├── UnlabeledReconRayAssignments.h
│ │ ├── CentroidsDetail.h
│ │ ├── GlobalSegments.h
│ │ ├── GlobalSegmentsDetail.h
│ │ ├── LightweightSegmentsDetail.h
│ │ ├── ObjectQuality.h
│ │ ├── LightweightSegments.h
│ │ ├── LocalSegmentsDetail.h
│ │ ├── ScopedWriter.h
│ │ ├── GreyscaleSubsampledBlobs.h
│ │ ├── SubjectTopologyDetail.h
│ │ ├── LocalSegments.h
│ │ ├── StartMulticastSender.h
│ │ ├── SubjectTopology.h
│ │ ├── CentroidTracksDetail.h
│ │ ├── EdgePairs.h
│ │ ├── UnlabeledReconsDetail.h
│ │ ├── CentroidWeights.h
│ │ ├── Centroids.h
│ │ ├── SubjectScale.h
│ │ ├── SubjectHealth.h
│ │ ├── CentroidTracks.h
│ │ ├── Contents.h
│ │ ├── CameraTimingInfo.h
│ │ ├── EyeTrackerFrame.h
│ │ ├── CameraCalibrationHealth.h
│ │ ├── ForceFrame.h
│ │ ├── CameraWand3d.h
│ │ ├── VoltageFrame.h
│ │ ├── MomentFrame.h
│ │ ├── CentreOfPressureFrame.h
│ │ ├── ApplicationInfo.h
│ │ └── ScopedReader.h
│ ├── ViconDataStreamSDK_C
│ │ ├── resource.h
│ │ ├── ViconDataStreamSDK_C.ThirdParty.xml
│ │ ├── VersionInfoResource.rc2
│ │ ├── ViconDataStreamSDK_C.rc
│ │ └── ViconDataStreamSDK_CVersion.h
│ ├── ViconDataStreamSDK_CPP
│ │ ├── resource.h
│ │ ├── ReadMe.txt
│ │ ├── ViconDataStreamSDK_CPP.ThirdParty.xml
│ │ ├── VersionInfoResource.rc2
│ │ ├── ViconDataStreamSDK_CPP.rc
│ │ ├── ViconDataStreamSDK_CPPVersion.h
│ │ └── StringFactory.h
│ ├── ViconCGStreamClient
│ │ ├── ViconCGStreamClient.ThirdParty.xml
│ │ ├── ViconCGStreamBayer.h
│ │ ├── CGStreamReaderWriter.h
│ │ ├── IViconCGStreamClientCallback.h
│ │ └── CGStreamPostalService.h
│ ├── ViconCGStreamClientSDK
│ │ └── ViconCGStreamClientSDK.ThirdParty.xml
│ ├── ViconDataStreamSDKCore
│ │ ├── ViconDataStreamSDKCore.ThirdParty.xml
│ │ ├── ViconDataStreamSDKCoreVersion.h
│ │ ├── WirelessConfiguration.h
│ │ ├── SegmentPoseReader.h
│ │ └── RetimerUtils.h
│ ├── ViconDataStreamSDK_CPPTest
│ │ └── ViconDataStreamSDK_CPPTest.ThirdParty.xml
│ ├── ViconDataStreamSDK_CTest
│ │ └── ViconDataStreamSDK_CTest.ThirdParty.xml
│ ├── ViconDataStreamSDKCoreUtils
│ │ ├── ViconDataStreamSDKCoreUtils.ThirdParty.xml
│ │ ├── ViconDataStreamSDKCoreUtilsVersion.h
│ │ └── AxisMapping.h
│ └── ViconDataStreamSDK_CPPRetimerTest
│ │ └── ViconDataStreamSDK_CPPRetimerTest.ThirdParty.xml
│ └── StreamCommon
│ ├── StreamCommon.ThirdParty.xml
│ └── Type.h
├── Config.cmake.in
├── LICENSE
└── README.md
/.gitignore:
--------------------------------------------------------------------------------
1 | build/
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconCGStream/Dummy.cpp:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconDataStreamSDK_C/resource.h:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconDataStreamSDK_CPP/resource.h:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconDataStreamSDK_CPP/ReadMe.txt:
--------------------------------------------------------------------------------
1 | If you modify Client.h, please modify the copy in ViconDataStreamSDK_CPPPlugins
--------------------------------------------------------------------------------
/Vicon/CrossMarket/StreamCommon/StreamCommon.ThirdParty.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconCGStream/ViconCGStream.ThirdParty.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconCGStreamClient/ViconCGStreamClient.ThirdParty.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconDataStreamSDK_C/ViconDataStreamSDK_C.ThirdParty.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconCGStreamClientSDK/ViconCGStreamClientSDK.ThirdParty.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconDataStreamSDKCore/ViconDataStreamSDKCore.ThirdParty.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconDataStreamSDK_CPP/ViconDataStreamSDK_CPP.ThirdParty.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconDataStreamSDK_CPPTest/ViconDataStreamSDK_CPPTest.ThirdParty.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconDataStreamSDK_CTest/ViconDataStreamSDK_CTest.ThirdParty.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconDataStreamSDKCoreUtils/ViconDataStreamSDKCoreUtils.ThirdParty.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconDataStreamSDK_CPPRetimerTest/ViconDataStreamSDK_CPPRetimerTest.ThirdParty.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Config.cmake.in:
--------------------------------------------------------------------------------
1 | @PACKAGE_INIT@
2 |
3 | include(CMakeFindDependencyMacro)
4 |
5 | include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake")
6 |
7 | find_dependency(Boost 1.5 COMPONENTS system thread)
8 | set(THREADS_PREFER_PTHREAD_FLAG ON)
9 | find_dependency(Threads)
10 |
11 | check_required_components(@PROJECT_NAME@)
12 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 Vicon Motion Systems Ltd, Wolfgang Hönig
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # vicon-datastream-sdk
2 | inofficial VICON DataStream SDK with cmake support
3 |
4 | Since version 1.8.0, the VICON DataStream SDK is available under an MIT license. This inofficial fork
5 | contains the SDK as well as support for the cmake build system for easy integration in cmake-based projects.
6 |
7 | You can find the latest official version at https://vicon.com/downloads/utilities-and-sdk/datastream-sdk
8 |
9 | ## Building
10 |
11 | ````
12 | mkdir build
13 | cd build
14 | cmake ..
15 | make
16 | make install # if you want to install the package
17 | ````
18 |
19 | ## Testing
20 |
21 | Run
22 |
23 | ````
24 | cd build
25 | ./ViconDataStreamSDK_CPPTest vicon
26 | ````
27 |
28 | where vicon is the IP/hostname of the vicon machine.
29 |
30 |
31 | ## Use in other projects
32 |
33 | First you need to build and install this package (see above). Then you can use
34 | it in your own CMake-projects like this:
35 |
36 | ```cmake
37 | # CMakeLists.txt
38 | find_package(vicon-datastream-sdk)
39 |
40 | add_executable(foo foo.cpp)
41 | target_link_libraries(foo PRIVATE vicon-datastream-sdk::ViconDataStreamSDK_CPP)
42 | ```
43 |
44 | ```c++
45 | // foo.cpp
46 | #include
47 |
48 | // ...your code...
49 | // See ViconDataStreamSDK_CPPTest.cpp for an example how to use the SDK
50 | ```
51 |
52 |
53 | ## Notes
54 |
55 | Currently this only builds the C++ SDK and associated test application.
56 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconDataStreamSDK_C/VersionInfoResource.rc2:
--------------------------------------------------------------------------------
1 | #include "ViconDataStreamSDK_CVersion.h"
2 |
3 | /////////////////////////////////////////////////////////////////////////////
4 | //
5 | // Version
6 | //
7 |
8 | VS_VERSION_INFO VERSIONINFO
9 | FILEVERSION VICONDATASTREAMSDK_C_VERSION_MAJOR,VICONDATASTREAMSDK_C_VERSION_MINOR,VICONDATASTREAMSDK_C_VERSION_POINT,VICONDATASTREAMSDK_C_VERSION_REVISION
10 | PRODUCTVERSION VICONDATASTREAMSDK_C_VERSION_MAJOR,VICONDATASTREAMSDK_C_VERSION_MINOR,VICONDATASTREAMSDK_C_VERSION_POINT,VICONDATASTREAMSDK_C_VERSION_REVISION
11 | FILEFLAGSMASK 0x3fL
12 | #ifdef _DEBUG
13 | FILEFLAGS 0x1L
14 | #else
15 | FILEFLAGS 0x0L
16 | #endif
17 | FILEOS 0x4L
18 | FILETYPE 0x1L
19 | FILESUBTYPE 0x0L
20 | BEGIN
21 | BLOCK "StringFileInfo"
22 | BEGIN
23 | BLOCK "040904b0"
24 | BEGIN
25 | VALUE "CompanyName", VICONDATASTREAMSDK_C_COMPANY_L
26 | VALUE "FileDescription", "Vicon DataStream SDK for C"
27 | VALUE "FileVersion", VICONDATASTREAMSDK_C_FULL_VERSION_STRING_L
28 | VALUE "InternalName", "Vicon DataStream SDK for C"
29 | VALUE "LegalCopyright", VICONDATASTREAMSDK_C_COPYRIGHT_L
30 | VALUE "LegalTrademarks", VICONDATASTREAMSDK_C_TRADEMARK_L
31 | VALUE "OriginalFilename", "ViconDataStreamSDK_C.dll"
32 | VALUE "ProductName", "Vicon DataStream SDK"
33 | VALUE "ProductVersion", VICONDATASTREAMSDK_C_FULL_VERSION_STRING_L
34 | END
35 | END
36 | BLOCK "VarFileInfo"
37 | BEGIN
38 | VALUE "Translation", 0x409, 1200
39 | END
40 | END
41 |
42 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconDataStreamSDK_CPP/VersionInfoResource.rc2:
--------------------------------------------------------------------------------
1 | #include "ViconDataStreamSDK_CPPVersion.h"
2 |
3 | /////////////////////////////////////////////////////////////////////////////
4 | //
5 | // Version
6 | //
7 |
8 | VS_VERSION_INFO VERSIONINFO
9 | FILEVERSION VICONDATASTREAMSDK_CPP_VERSION_MAJOR,VICONDATASTREAMSDK_CPP_VERSION_MINOR,VICONDATASTREAMSDK_CPP_VERSION_POINT,VICONDATASTREAMSDK_CPP_VERSION_REVISION
10 | PRODUCTVERSION VICONDATASTREAMSDK_CPP_VERSION_MAJOR,VICONDATASTREAMSDK_CPP_VERSION_MINOR,VICONDATASTREAMSDK_CPP_VERSION_POINT,VICONDATASTREAMSDK_CPP_VERSION_REVISION
11 | FILEFLAGSMASK 0x3fL
12 | #ifdef _DEBUG
13 | FILEFLAGS 0x1L
14 | #else
15 | FILEFLAGS 0x0L
16 | #endif
17 | FILEOS 0x4L
18 | FILETYPE 0x1L
19 | FILESUBTYPE 0x0L
20 | BEGIN
21 | BLOCK "StringFileInfo"
22 | BEGIN
23 | BLOCK "040904b0"
24 | BEGIN
25 | VALUE "CompanyName", VICONDATASTREAMSDK_CPP_COMPANY_L
26 | VALUE "FileDescription", "Vicon DataStream SDK for C++"
27 | VALUE "FileVersion", VICONDATASTREAMSDK_CPP_FULL_VERSION_STRING_L
28 | VALUE "InternalName", "Vicon DataStream for C++"
29 | VALUE "LegalCopyright", VICONDATASTREAMSDK_CPP_COPYRIGHT_L
30 | VALUE "LegalTrademarks", VICONDATASTREAMSDK_CPP_TRADEMARK_L
31 | VALUE "OriginalFilename", "ViconDataStreamSDK_CPP.dll"
32 | VALUE "ProductName", "Vicon DataStream SDK"
33 | VALUE "ProductVersion", VICONDATASTREAMSDK_CPP_FULL_VERSION_STRING_L
34 | END
35 | END
36 | BLOCK "VarFileInfo"
37 | BEGIN
38 | VALUE "Translation", 0x409, 1200
39 | END
40 | END
41 |
42 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconDataStreamSDK_C/ViconDataStreamSDK_C.rc:
--------------------------------------------------------------------------------
1 | // Microsoft Visual C++ generated resource script.
2 | //
3 | #include "resource.h"
4 |
5 | #define APSTUDIO_READONLY_SYMBOLS
6 | /////////////////////////////////////////////////////////////////////////////
7 | //
8 | // Generated from the TEXTINCLUDE 2 resource.
9 | //
10 | #include "windows.h"
11 | /////////////////////////////////////////////////////////////////////////////
12 | #undef APSTUDIO_READONLY_SYMBOLS
13 |
14 | /////////////////////////////////////////////////////////////////////////////
15 | // English (U.S.) resources
16 |
17 | #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
18 | #ifdef _WIN32
19 | LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
20 | #pragma code_page(1252)
21 | #endif //_WIN32
22 |
23 | #ifdef APSTUDIO_INVOKED
24 | /////////////////////////////////////////////////////////////////////////////
25 | //
26 | // TEXTINCLUDE
27 | //
28 |
29 | 1 TEXTINCLUDE
30 | BEGIN
31 | "resource.h\0"
32 | END
33 |
34 | 2 TEXTINCLUDE
35 | BEGIN
36 | "#include ""windows.h""\0"
37 | END
38 |
39 | 3 TEXTINCLUDE
40 | BEGIN
41 | "#include ""VersionInfoResource.rc2""\r\n"
42 | "\0"
43 | END
44 |
45 | #endif // APSTUDIO_INVOKED
46 |
47 | #endif // English (U.S.) resources
48 | /////////////////////////////////////////////////////////////////////////////
49 |
50 |
51 |
52 | #ifndef APSTUDIO_INVOKED
53 | /////////////////////////////////////////////////////////////////////////////
54 | //
55 | // Generated from the TEXTINCLUDE 3 resource.
56 | //
57 | #include "VersionInfoResource.rc2"
58 |
59 | /////////////////////////////////////////////////////////////////////////////
60 | #endif // not APSTUDIO_INVOKED
61 |
62 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconDataStreamSDK_CPP/ViconDataStreamSDK_CPP.rc:
--------------------------------------------------------------------------------
1 | // Microsoft Visual C++ generated resource script.
2 | //
3 | #include "resource.h"
4 |
5 | #define APSTUDIO_READONLY_SYMBOLS
6 | /////////////////////////////////////////////////////////////////////////////
7 | //
8 | // Generated from the TEXTINCLUDE 2 resource.
9 | //
10 | #include "windows.h"
11 | /////////////////////////////////////////////////////////////////////////////
12 | #undef APSTUDIO_READONLY_SYMBOLS
13 |
14 | /////////////////////////////////////////////////////////////////////////////
15 | // English (U.S.) resources
16 |
17 | #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
18 | #ifdef _WIN32
19 | LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
20 | #pragma code_page(1252)
21 | #endif //_WIN32
22 |
23 | #ifdef APSTUDIO_INVOKED
24 | /////////////////////////////////////////////////////////////////////////////
25 | //
26 | // TEXTINCLUDE
27 | //
28 |
29 | 1 TEXTINCLUDE
30 | BEGIN
31 | "resource.h\0"
32 | END
33 |
34 | 2 TEXTINCLUDE
35 | BEGIN
36 | "#include ""windows.h""\0"
37 | END
38 |
39 | 3 TEXTINCLUDE
40 | BEGIN
41 | "#include ""VersionInfoResource.rc2""\r\n"
42 | "\0"
43 | END
44 |
45 | #endif // APSTUDIO_INVOKED
46 |
47 | #endif // English (U.S.) resources
48 | /////////////////////////////////////////////////////////////////////////////
49 |
50 |
51 |
52 | #ifndef APSTUDIO_INVOKED
53 | /////////////////////////////////////////////////////////////////////////////
54 | //
55 | // Generated from the TEXTINCLUDE 3 resource.
56 | //
57 | #include "VersionInfoResource.rc2"
58 |
59 | /////////////////////////////////////////////////////////////////////////////
60 | #endif // not APSTUDIO_INVOKED
61 |
62 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconDataStreamSDK_C/ViconDataStreamSDK_CVersion.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #define VICONDATASTREAMSDK_C_VERSION_REVISION_CONTROL_SYSTEM "unknown"
4 | #define VICONDATASTREAMSDK_C_VERSION_REVISION 0
5 | #define VICONDATASTREAMSDK_C_VERSION_MONOTONIC_REVISION 0
6 | #define VICONDATASTREAMSDK_C_VERSION_PUBLIC_REVISION_STRING "0"
7 | #define VICONDATASTREAMSDK_C_VERSION_BRANCH "unknown"
8 | #define VICONDATASTREAMSDK_C_VERSION_REPOSITORY "unknown"
9 | #define VICONDATASTREAMSDK_C_VERSION_CHANGESET "0"
10 | #define VICONDATASTREAMSDK_C_VERSION_LOCAL_CHANGESET "0"
11 | #define VICONDATASTREAMSDK_C_VERSION_LOCAL_BRANCH "unknown"
12 |
13 | #define VICONDATASTREAMSDK_C_VERSION_MAJOR 1
14 | #define VICONDATASTREAMSDK_C_VERSION_MINOR 12
15 | #define VICONDATASTREAMSDK_C_VERSION_POINT 0
16 | #define VICONDATASTREAMSDK_C_VERSION_RELEASE ""
17 | #define VICONDATASTREAMSDK_C_VERSION_SUPPLEMENTAL ""
18 |
19 | #define VICONDATASTREAMSDK_C_FULL_VERSION_STRING "1.12.0.0"
20 | #define VICONDATASTREAMSDK_C_VERSION_STRING "1.12"
21 | #define VICONDATASTREAMSDK_C_COMPANY "Vicon Motion Systems Ltd"
22 | #define VICONDATASTREAMSDK_C_COPYRIGHT "Copyright \x00A9 2023 Vicon Motion Systems Ltd. All rights reserved."
23 | #define VICONDATASTREAMSDK_C_TRADEMARK "Vicon\x00AE is a registered trademark of OMG Plc."
24 | #define VICONDATASTREAMSDK_C_PROJECT_NAME "ViconDataStreamSDK_C"
25 |
26 | #define VICONDATASTREAMSDK_C_FULL_VERSION_STRING_L L"1.12.0.0"
27 | #define VICONDATASTREAMSDK_C_VERSION_STRING_L L"1.12"
28 | #define VICONDATASTREAMSDK_C_COMPANY_L L"Vicon Motion Systems Ltd"
29 | #define VICONDATASTREAMSDK_C_COPYRIGHT_L L"Copyright \x00A9 2023 Vicon Motion Systems Ltd. All rights reserved."
30 | #define VICONDATASTREAMSDK_C_TRADEMARK_L L"Vicon\x00AE is a registered trademark of OMG Plc."
31 | #define VICONDATASTREAMSDK_C_PROJECT_NAME_L L"ViconDataStreamSDK_C"
32 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconDataStreamSDKCore/ViconDataStreamSDKCoreVersion.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #define VICONDATASTREAMSDKCORE_VERSION_REVISION_CONTROL_SYSTEM "unknown"
4 | #define VICONDATASTREAMSDKCORE_VERSION_REVISION 0
5 | #define VICONDATASTREAMSDKCORE_VERSION_MONOTONIC_REVISION 0
6 | #define VICONDATASTREAMSDKCORE_VERSION_PUBLIC_REVISION_STRING "0"
7 | #define VICONDATASTREAMSDKCORE_VERSION_BRANCH "unknown"
8 | #define VICONDATASTREAMSDKCORE_VERSION_REPOSITORY "unknown"
9 | #define VICONDATASTREAMSDKCORE_VERSION_CHANGESET "0"
10 | #define VICONDATASTREAMSDKCORE_VERSION_LOCAL_CHANGESET "0"
11 | #define VICONDATASTREAMSDKCORE_VERSION_LOCAL_BRANCH "unknown"
12 |
13 | #define VICONDATASTREAMSDKCORE_VERSION_MAJOR 1
14 | #define VICONDATASTREAMSDKCORE_VERSION_MINOR 12
15 | #define VICONDATASTREAMSDKCORE_VERSION_POINT 0
16 | #define VICONDATASTREAMSDKCORE_VERSION_RELEASE ""
17 | #define VICONDATASTREAMSDKCORE_VERSION_SUPPLEMENTAL ""
18 |
19 | #define VICONDATASTREAMSDKCORE_FULL_VERSION_STRING "1.12.0.0"
20 | #define VICONDATASTREAMSDKCORE_VERSION_STRING "1.12"
21 | #define VICONDATASTREAMSDKCORE_COMPANY "Vicon Motion Systems Ltd"
22 | #define VICONDATASTREAMSDKCORE_COPYRIGHT "Copyright \x00A9 2023 Vicon Motion Systems Ltd. All rights reserved."
23 | #define VICONDATASTREAMSDKCORE_TRADEMARK "Vicon\x00AE is a registered trademark of OMG Plc."
24 | #define VICONDATASTREAMSDKCORE_PROJECT_NAME "ViconDataStreamSDKCore"
25 |
26 | #define VICONDATASTREAMSDKCORE_FULL_VERSION_STRING_L L"1.12.0.0"
27 | #define VICONDATASTREAMSDKCORE_VERSION_STRING_L L"1.12"
28 | #define VICONDATASTREAMSDKCORE_COMPANY_L L"Vicon Motion Systems Ltd"
29 | #define VICONDATASTREAMSDKCORE_COPYRIGHT_L L"Copyright \x00A9 2023 Vicon Motion Systems Ltd. All rights reserved."
30 | #define VICONDATASTREAMSDKCORE_TRADEMARK_L L"Vicon\x00AE is a registered trademark of OMG Plc."
31 | #define VICONDATASTREAMSDKCORE_PROJECT_NAME_L L"ViconDataStreamSDKCore"
32 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconDataStreamSDK_CPP/ViconDataStreamSDK_CPPVersion.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #define VICONDATASTREAMSDK_CPP_VERSION_REVISION_CONTROL_SYSTEM "unknown"
4 | #define VICONDATASTREAMSDK_CPP_VERSION_REVISION 0
5 | #define VICONDATASTREAMSDK_CPP_VERSION_MONOTONIC_REVISION 0
6 | #define VICONDATASTREAMSDK_CPP_VERSION_PUBLIC_REVISION_STRING "0"
7 | #define VICONDATASTREAMSDK_CPP_VERSION_BRANCH "unknown"
8 | #define VICONDATASTREAMSDK_CPP_VERSION_REPOSITORY "unknown"
9 | #define VICONDATASTREAMSDK_CPP_VERSION_CHANGESET "0"
10 | #define VICONDATASTREAMSDK_CPP_VERSION_LOCAL_CHANGESET "0"
11 | #define VICONDATASTREAMSDK_CPP_VERSION_LOCAL_BRANCH "unknown"
12 |
13 | #define VICONDATASTREAMSDK_CPP_VERSION_MAJOR 1
14 | #define VICONDATASTREAMSDK_CPP_VERSION_MINOR 12
15 | #define VICONDATASTREAMSDK_CPP_VERSION_POINT 0
16 | #define VICONDATASTREAMSDK_CPP_VERSION_RELEASE ""
17 | #define VICONDATASTREAMSDK_CPP_VERSION_SUPPLEMENTAL ""
18 |
19 | #define VICONDATASTREAMSDK_CPP_FULL_VERSION_STRING "1.12.0.0"
20 | #define VICONDATASTREAMSDK_CPP_VERSION_STRING "1.12"
21 | #define VICONDATASTREAMSDK_CPP_COMPANY "Vicon Motion Systems Ltd"
22 | #define VICONDATASTREAMSDK_CPP_COPYRIGHT "Copyright \x00A9 2023 Vicon Motion Systems Ltd. All rights reserved."
23 | #define VICONDATASTREAMSDK_CPP_TRADEMARK "Vicon\x00AE is a registered trademark of OMG Plc."
24 | #define VICONDATASTREAMSDK_CPP_PROJECT_NAME "ViconDataStreamSDK_CPP"
25 |
26 | #define VICONDATASTREAMSDK_CPP_FULL_VERSION_STRING_L L"1.12.0.0"
27 | #define VICONDATASTREAMSDK_CPP_VERSION_STRING_L L"1.12"
28 | #define VICONDATASTREAMSDK_CPP_COMPANY_L L"Vicon Motion Systems Ltd"
29 | #define VICONDATASTREAMSDK_CPP_COPYRIGHT_L L"Copyright \x00A9 2023 Vicon Motion Systems Ltd. All rights reserved."
30 | #define VICONDATASTREAMSDK_CPP_TRADEMARK_L L"Vicon\x00AE is a registered trademark of OMG Plc."
31 | #define VICONDATASTREAMSDK_CPP_PROJECT_NAME_L L"ViconDataStreamSDK_CPP"
32 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconCGStreamClient/ViconCGStreamBayer.h:
--------------------------------------------------------------------------------
1 |
2 | //////////////////////////////////////////////////////////////////////////////////
3 | // MIT License
4 | //
5 | // Copyright (c) 2020 Vicon Motion Systems Ltd
6 | //
7 | // Permission is hereby granted, free of charge, to any person obtaining a copy
8 | // of this software and associated documentation files (the "Software"), to deal
9 | // in the Software without restriction, including without limitation the rights
10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | // copies of the Software, and to permit persons to whom the Software is
12 | // furnished to do so, subject to the following conditions:
13 | //
14 | // The above copyright notice and this permission notice shall be included in all
15 | // copies or substantial portions of the Software.
16 | //
17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | // SOFTWARE.
24 | //////////////////////////////////////////////////////////////////////////////////
25 | #pragma once
26 |
27 | class VViconCGStreamBayer
28 | {
29 | public:
30 | static void BayerGBToBGR( unsigned int i_Width, unsigned int i_Height, const unsigned char * i_pBayerData, unsigned char * o_pBGRData );
31 | static void BayerBGToBGR( unsigned int i_Width, unsigned int i_Height, const unsigned char * i_pBayerData, unsigned char * o_pBGRData );
32 | static void BayerRGToBGR( unsigned int i_Width, unsigned int i_Height, const unsigned char * i_pBayerData, unsigned char * o_pBGRData );
33 | };
34 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconDataStreamSDK_CPP/StringFactory.h:
--------------------------------------------------------------------------------
1 |
2 | //////////////////////////////////////////////////////////////////////////////////
3 | // MIT License
4 | //
5 | // Copyright (c) 2020 Vicon Motion Systems Ltd
6 | //
7 | // Permission is hereby granted, free of charge, to any person obtaining a copy
8 | // of this software and associated documentation files (the "Software"), to deal
9 | // in the Software without restriction, including without limitation the rights
10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | // copies of the Software, and to permit persons to whom the Software is
12 | // furnished to do so, subject to the following conditions:
13 | //
14 | // The above copyright notice and this permission notice shall be included in all
15 | // copies or substantial portions of the Software.
16 | //
17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | // SOFTWARE.
24 | //////////////////////////////////////////////////////////////////////////////////
25 | #pragma once
26 |
27 | namespace ViconDataStreamSDK
28 | {
29 | namespace CPP
30 | {
31 | class VStringFactory : public IStringFactory
32 | {
33 | public:
34 |
35 | virtual char * AllocAndCopyString( const char * i_pSource )
36 | {
37 | char * pString = new char[ strlen( i_pSource ) + 1 ];
38 | strcpy( pString, i_pSource );
39 | return pString;
40 | }
41 |
42 | virtual void FreeString( char * i_pString )
43 | {
44 | delete[] i_pString;
45 | }
46 | };
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconDataStreamSDKCore/WirelessConfiguration.h:
--------------------------------------------------------------------------------
1 |
2 | //////////////////////////////////////////////////////////////////////////////////
3 | // MIT License
4 | //
5 | // Copyright (c) 2020 Vicon Motion Systems Ltd
6 | //
7 | // Permission is hereby granted, free of charge, to any person obtaining a copy
8 | // of this software and associated documentation files (the "Software"), to deal
9 | // in the Software without restriction, including without limitation the rights
10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | // copies of the Software, and to permit persons to whom the Software is
12 | // furnished to do so, subject to the following conditions:
13 | //
14 | // The above copyright notice and this permission notice shall be included in all
15 | // copies or substantial portions of the Software.
16 | //
17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | // SOFTWARE.
24 | //////////////////////////////////////////////////////////////////////////////////
25 | #pragma once
26 |
27 | #include
28 | #include
29 |
30 | class VWirelessConfiguration
31 | {
32 | public:
33 | static std::shared_ptr< VWirelessConfiguration > Create( std::string & o_rError );
34 | virtual ~VWirelessConfiguration();
35 |
36 | bool BackgroundScan( std::string & o_rError, bool i_Enable );
37 | bool StreamingMode( std::string & o_rError, bool i_Enable );
38 |
39 | private:
40 | class VImpl;
41 | VWirelessConfiguration( std::shared_ptr< VImpl > i_pImpl );
42 |
43 | std::shared_ptr< VImpl > m_pImpl;
44 | };
45 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconDataStreamSDKCoreUtils/ViconDataStreamSDKCoreUtilsVersion.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #define VICONDATASTREAMSDKCOREUTILS_VERSION_REVISION_CONTROL_SYSTEM "unknown"
4 | #define VICONDATASTREAMSDKCOREUTILS_VERSION_REVISION 0
5 | #define VICONDATASTREAMSDKCOREUTILS_VERSION_MONOTONIC_REVISION 0
6 | #define VICONDATASTREAMSDKCOREUTILS_VERSION_PUBLIC_REVISION_STRING "0"
7 | #define VICONDATASTREAMSDKCOREUTILS_VERSION_BRANCH "unknown"
8 | #define VICONDATASTREAMSDKCOREUTILS_VERSION_REPOSITORY "unknown"
9 | #define VICONDATASTREAMSDKCOREUTILS_VERSION_CHANGESET "0"
10 | #define VICONDATASTREAMSDKCOREUTILS_VERSION_LOCAL_CHANGESET "0"
11 | #define VICONDATASTREAMSDKCOREUTILS_VERSION_LOCAL_BRANCH "unknown"
12 |
13 | #define VICONDATASTREAMSDKCOREUTILS_VERSION_MAJOR 1
14 | #define VICONDATASTREAMSDKCOREUTILS_VERSION_MINOR 12
15 | #define VICONDATASTREAMSDKCOREUTILS_VERSION_POINT 0
16 | #define VICONDATASTREAMSDKCOREUTILS_VERSION_RELEASE ""
17 | #define VICONDATASTREAMSDKCOREUTILS_VERSION_SUPPLEMENTAL ""
18 |
19 | #define VICONDATASTREAMSDKCOREUTILS_FULL_VERSION_STRING "1.12.0.0"
20 | #define VICONDATASTREAMSDKCOREUTILS_VERSION_STRING "1.12"
21 | #define VICONDATASTREAMSDKCOREUTILS_COMPANY "Vicon Motion Systems Ltd"
22 | #define VICONDATASTREAMSDKCOREUTILS_COPYRIGHT "Copyright \x00A9 2023 Vicon Motion Systems Ltd. All rights reserved."
23 | #define VICONDATASTREAMSDKCOREUTILS_TRADEMARK "Vicon\x00AE is a registered trademark of OMG Plc."
24 | #define VICONDATASTREAMSDKCOREUTILS_PROJECT_NAME "ViconDataStreamSDKCoreUtils"
25 |
26 | #define VICONDATASTREAMSDKCOREUTILS_FULL_VERSION_STRING_L L"1.12.0.0"
27 | #define VICONDATASTREAMSDKCOREUTILS_VERSION_STRING_L L"1.12"
28 | #define VICONDATASTREAMSDKCOREUTILS_COMPANY_L L"Vicon Motion Systems Ltd"
29 | #define VICONDATASTREAMSDKCOREUTILS_COPYRIGHT_L L"Copyright \x00A9 2023 Vicon Motion Systems Ltd. All rights reserved."
30 | #define VICONDATASTREAMSDKCOREUTILS_TRADEMARK_L L"Vicon\x00AE is a registered trademark of OMG Plc."
31 | #define VICONDATASTREAMSDKCOREUTILS_PROJECT_NAME_L L"ViconDataStreamSDKCoreUtils"
32 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconCGStream/DynamicCameraCalibrationInfo.h:
--------------------------------------------------------------------------------
1 |
2 | //////////////////////////////////////////////////////////////////////////////////
3 | // MIT License
4 | //
5 | // Copyright (c) 2020 Vicon Motion Systems Ltd
6 | //
7 | // Permission is hereby granted, free of charge, to any person obtaining a copy
8 | // of this software and associated documentation files (the "Software"), to deal
9 | // in the Software without restriction, including without limitation the rights
10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | // copies of the Software, and to permit persons to whom the Software is
12 | // furnished to do so, subject to the following conditions:
13 | //
14 | // The above copyright notice and this permission notice shall be included in all
15 | // copies or substantial portions of the Software.
16 | //
17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | // SOFTWARE.
24 | //////////////////////////////////////////////////////////////////////////////////
25 | #pragma once
26 |
27 | #include "CameraCalibrationInfo.h"
28 | #include
29 |
30 | namespace ViconCGStream
31 | {
32 | //-------------------------------------------------------------------------------------------------
33 | // Item for dynamic/moving camera
34 | // Contents are the same as CameraCalibrationInfo, only as a separate item so
35 | // that the static/non-moving cameras are not sent every frame.
36 | // Whether items are sent every frame is checked just before sending the data in
37 | // CGServerStream.
38 | class VDynamicCameraCalibrationInfo : public VCameraCalibrationInfo
39 | {
40 | public:
41 |
42 | /// Object type enum.
43 | virtual ViconCGStreamType::Enum TypeID() const
44 | {
45 | return ViconCGStreamEnum::DynamicCameraCalibrationInfo;
46 | }
47 |
48 | };
49 |
50 | //-------------------------------------------------------------------------------------------------
51 | };
52 |
53 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconCGStream/IsEqual.h:
--------------------------------------------------------------------------------
1 |
2 | //////////////////////////////////////////////////////////////////////////////////
3 | // MIT License
4 | //
5 | // Copyright (c) 2020 Vicon Motion Systems Ltd
6 | //
7 | // Permission is hereby granted, free of charge, to any person obtaining a copy
8 | // of this software and associated documentation files (the "Software"), to deal
9 | // in the Software without restriction, including without limitation the rights
10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | // copies of the Software, and to permit persons to whom the Software is
12 | // furnished to do so, subject to the following conditions:
13 | //
14 | // The above copyright notice and this permission notice shall be included in all
15 | // copies or substantial portions of the Software.
16 | //
17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | // SOFTWARE.
24 | //////////////////////////////////////////////////////////////////////////////////
25 | #pragma once
26 |
27 | namespace ViconCGStreamDetail
28 | {
29 | //-------------------------------------------------------------------------------------------------
30 |
31 | template< unsigned int N >
32 | struct VDetail
33 | {
34 | template< typename T >
35 | static bool IsEqual( const T * i_pLeft, const T * i_pRight )
36 | {
37 | return *i_pLeft == *i_pRight && VDetail< N - 1 >::IsEqual( i_pLeft + 1, i_pRight + 1 );
38 | }
39 | };
40 |
41 | template<>
42 | struct VDetail< 1 >
43 | {
44 | template< typename T >
45 | static bool IsEqual( const T * i_pLeft, const T * i_pRight )
46 | {
47 | return *i_pLeft == *i_pRight;
48 | }
49 | };
50 |
51 | template< typename T, unsigned int N >
52 | bool IsEqual( const T ( & i_rpLeft )[ N ], const T ( & i_rpRight )[ N ] )
53 | {
54 | return VDetail< N >::IsEqual( i_rpLeft, i_rpRight );
55 | }
56 |
57 | //-------------------------------------------------------------------------------------------------
58 | };
59 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconCGStreamClient/CGStreamReaderWriter.h:
--------------------------------------------------------------------------------
1 |
2 | //////////////////////////////////////////////////////////////////////////////////
3 | // MIT License
4 | //
5 | // Copyright (c) 2020 Vicon Motion Systems Ltd
6 | //
7 | // Permission is hereby granted, free of charge, to any person obtaining a copy
8 | // of this software and associated documentation files (the "Software"), to deal
9 | // in the Software without restriction, including without limitation the rights
10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | // copies of the Software, and to permit persons to whom the Software is
12 | // furnished to do so, subject to the following conditions:
13 | //
14 | // The above copyright notice and this permission notice shall be included in all
15 | // copies or substantial portions of the Software.
16 | //
17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | // SOFTWARE.
24 | //////////////////////////////////////////////////////////////////////////////////
25 | #pragma once
26 |
27 | #include
28 | #include
29 | #include
30 |
31 | // Class providing asio based socket support for the cg stream
32 | class VCGStreamReaderWriter : public ViconCGStreamIO::VBuffer
33 | {
34 | public:
35 |
36 | VCGStreamReaderWriter( std::shared_ptr< boost::asio::ip::tcp::socket > i_pSocket );
37 |
38 | VCGStreamReaderWriter( std::shared_ptr< boost::asio::ip::udp::socket > i_pMulticastSocket );
39 |
40 | // determine if there is data ready to read. Return value indicates if an error occured
41 | bool DataReady( bool & o_rbDataReady ) const;
42 |
43 | // Close the socket
44 | void Close();
45 |
46 | // Determine if socket is open
47 | bool IsOpen() const;
48 |
49 | // Fill buffer from socket
50 | bool Fill();
51 |
52 | // Flush buffer to socket
53 | bool Flush();
54 |
55 | std::shared_ptr< boost::asio::ip::tcp::socket > m_pSocket;
56 | std::shared_ptr< boost::asio::ip::udp::socket > m_pMulticastSocket;
57 | };
58 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconCGStreamClient/IViconCGStreamClientCallback.h:
--------------------------------------------------------------------------------
1 |
2 | //////////////////////////////////////////////////////////////////////////////////
3 | // MIT License
4 | //
5 | // Copyright (c) 2020 Vicon Motion Systems Ltd
6 | //
7 | // Permission is hereby granted, free of charge, to any person obtaining a copy
8 | // of this software and associated documentation files (the "Software"), to deal
9 | // in the Software without restriction, including without limitation the rights
10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | // copies of the Software, and to permit persons to whom the Software is
12 | // furnished to do so, subject to the following conditions:
13 | //
14 | // The above copyright notice and this permission notice shall be included in all
15 | // copies or substantial portions of the Software.
16 | //
17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | // SOFTWARE.
24 | //////////////////////////////////////////////////////////////////////////////////
25 | #pragma once
26 |
27 | #include
28 |
29 | class VStaticObjects;
30 | class VDynamicObjects;
31 |
32 | class IViconCGStreamClientCallback
33 | {
34 | public:
35 | virtual void OnConnect();
36 | virtual void OnStaticObjects( std::shared_ptr< const VStaticObjects > i_pStaticObjects );
37 | virtual void OnDynamicObjects( std::shared_ptr< const VDynamicObjects > i_pDynamicObjects );
38 | virtual void OnDisconnect();
39 | virtual ~IViconCGStreamClientCallback();
40 | };
41 |
42 | inline void IViconCGStreamClientCallback::OnConnect()
43 | {
44 | }
45 |
46 |
47 | inline void IViconCGStreamClientCallback::OnStaticObjects( std::shared_ptr< const VStaticObjects > /*i_pStaticObjects*/ )
48 | {
49 | }
50 |
51 |
52 | inline void IViconCGStreamClientCallback::OnDynamicObjects( std::shared_ptr< const VDynamicObjects > /*i_pDynamicObjects*/ )
53 | {
54 | }
55 |
56 | inline void IViconCGStreamClientCallback::OnDisconnect()
57 | {
58 | }
59 |
60 | inline IViconCGStreamClientCallback::~IViconCGStreamClientCallback()
61 | {
62 | }
63 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconCGStream/CameraWand2dDetail.h:
--------------------------------------------------------------------------------
1 |
2 | //////////////////////////////////////////////////////////////////////////////////
3 | // MIT License
4 | //
5 | // Copyright (c) 2020 Vicon Motion Systems Ltd
6 | //
7 | // Permission is hereby granted, free of charge, to any person obtaining a copy
8 | // of this software and associated documentation files (the "Software"), to deal
9 | // in the Software without restriction, including without limitation the rights
10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | // copies of the Software, and to permit persons to whom the Software is
12 | // furnished to do so, subject to the following conditions:
13 | //
14 | // The above copyright notice and this permission notice shall be included in all
15 | // copies or substantial portions of the Software.
16 | //
17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | // SOFTWARE.
24 | //////////////////////////////////////////////////////////////////////////////////
25 | #pragma once
26 |
27 | /// \file
28 | /// Contains the Detail of the ViconCGStream::VCameraWand2d class
29 |
30 | #include "Enum.h"
31 | #include
32 |
33 |
34 | namespace ViconCGStreamDetail
35 | {
36 | //-------------------------------------------------------------------------------------------------
37 |
38 | /// Contains a wand point
39 | class VCameraWand2d_Point
40 | {
41 | public:
42 |
43 | // Position
44 | ViconCGStreamType::Double m_Position[ 2 ];
45 |
46 | /// Equality operator
47 | bool operator == ( const VCameraWand2d_Point & i_rOther ) const
48 | {
49 | return m_Position[ 0 ] == i_rOther.m_Position[ 0 ] &&
50 | m_Position[ 1 ] == i_rOther.m_Position[ 1 ];
51 | }
52 |
53 | /// Read function.
54 | bool Read( const ViconCGStreamIO::VBuffer & i_rBuffer )
55 | {
56 | return i_rBuffer.Read( m_Position );
57 | }
58 |
59 | /// Write function.
60 | void Write( ViconCGStreamIO::VBuffer & i_rBuffer ) const
61 | {
62 | i_rBuffer.Write( m_Position );
63 | }
64 |
65 | };
66 |
67 | //-------------------------------------------------------------------------------------------------
68 | };
69 |
70 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconCGStream/KeepAlive.h:
--------------------------------------------------------------------------------
1 |
2 | //////////////////////////////////////////////////////////////////////////////////
3 | // MIT License
4 | //
5 | // Copyright (c) 2020 Vicon Motion Systems Ltd
6 | //
7 | // Permission is hereby granted, free of charge, to any person obtaining a copy
8 | // of this software and associated documentation files (the "Software"), to deal
9 | // in the Software without restriction, including without limitation the rights
10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | // copies of the Software, and to permit persons to whom the Software is
12 | // furnished to do so, subject to the following conditions:
13 | //
14 | // The above copyright notice and this permission notice shall be included in all
15 | // copies or substantial portions of the Software.
16 | //
17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | // SOFTWARE.
24 | //////////////////////////////////////////////////////////////////////////////////
25 | #pragma once
26 |
27 | /// \file
28 | /// Contains the declaration of the ViconCGStream::VKeepAlive class.
29 |
30 | #include "Item.h"
31 |
32 | namespace ViconCGStream
33 | {
34 | //-------------------------------------------------------------------------------------------------
35 |
36 | /// Keep alive object.
37 | class VKeepAlive : public VItem
38 | {
39 | public:
40 |
41 | /// Equality operator.
42 | bool operator == ( const VKeepAlive & i_rKeepAlive ) const
43 | {
44 | return true;
45 | }
46 |
47 | /// Object type enum.
48 | virtual ViconCGStreamType::Enum TypeID() const
49 | {
50 | return ViconCGStreamEnum::KeepAlive;
51 | }
52 |
53 | /// Filter ID
54 | virtual ViconCGStreamType::UInt32 FilterID() const
55 | {
56 | return FILTER_NA;
57 | }
58 |
59 | /// Read function.
60 | virtual bool Read( const ViconCGStreamIO::VBuffer & i_rBuffer )
61 | {
62 | return true;
63 | }
64 |
65 | /// Write function.
66 | virtual void Write( ViconCGStreamIO::VBuffer & i_rBuffer ) const
67 | {
68 | }
69 |
70 | };
71 |
72 | //-------------------------------------------------------------------------------------------------
73 | };
74 |
75 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconCGStream/Item.h:
--------------------------------------------------------------------------------
1 |
2 | //////////////////////////////////////////////////////////////////////////////////
3 | // MIT License
4 | //
5 | // Copyright (c) 2020 Vicon Motion Systems Ltd
6 | //
7 | // Permission is hereby granted, free of charge, to any person obtaining a copy
8 | // of this software and associated documentation files (the "Software"), to deal
9 | // in the Software without restriction, including without limitation the rights
10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | // copies of the Software, and to permit persons to whom the Software is
12 | // furnished to do so, subject to the following conditions:
13 | //
14 | // The above copyright notice and this permission notice shall be included in all
15 | // copies or substantial portions of the Software.
16 | //
17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | // SOFTWARE.
24 | //////////////////////////////////////////////////////////////////////////////////
25 | #pragma once
26 |
27 | #include "Enum.h"
28 | #include
29 | #include "IsEqual.h"
30 |
31 | namespace ViconCGStream
32 | {
33 | //-------------------------------------------------------------------------------------------------
34 |
35 | const ViconCGStreamType::Int32 FILTER_NA = -1;
36 |
37 | /// This is the base class for all top level items
38 | class VItem
39 | {
40 | public:
41 |
42 | /// Type enum
43 | virtual ViconCGStreamType::Enum TypeID() const = 0;
44 |
45 | /// The value used to filter items belonging to a logical group
46 | /// Examples of return values are CameraID, DeviceID, SubjectID, etc.
47 | /// Top-level items that have no affinity with logical children should return FILTER_NA
48 | virtual ViconCGStreamType::UInt32 FilterID() const = 0;
49 |
50 | /// Read function
51 | virtual bool Read( const ViconCGStreamIO::VBuffer & i_rBuffer ) = 0;
52 |
53 | // Write function
54 | virtual void Write( ViconCGStreamIO::VBuffer & i_rBuffer ) const = 0;
55 |
56 | // Virtual destructor
57 | virtual ~VItem()
58 | {
59 | }
60 | };
61 |
62 | //-------------------------------------------------------------------------------------------------
63 | };
64 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconCGStream/CameraWand3dDetail.h:
--------------------------------------------------------------------------------
1 |
2 | //////////////////////////////////////////////////////////////////////////////////
3 | // MIT License
4 | //
5 | // Copyright (c) 2020 Vicon Motion Systems Ltd
6 | //
7 | // Permission is hereby granted, free of charge, to any person obtaining a copy
8 | // of this software and associated documentation files (the "Software"), to deal
9 | // in the Software without restriction, including without limitation the rights
10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | // copies of the Software, and to permit persons to whom the Software is
12 | // furnished to do so, subject to the following conditions:
13 | //
14 | // The above copyright notice and this permission notice shall be included in all
15 | // copies or substantial portions of the Software.
16 | //
17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | // SOFTWARE.
24 | //////////////////////////////////////////////////////////////////////////////////
25 | #pragma once
26 |
27 | /// \file
28 | /// Contains the Detail of the ViconCGStream::VCameraWand3d class
29 |
30 | #include "Enum.h"
31 | #include
32 |
33 | namespace ViconCGStreamDetail
34 | {
35 | //-------------------------------------------------------------------------------------------------
36 |
37 | /// Contains a wand point
38 | class VCameraWand3d_Point
39 | {
40 | public:
41 |
42 | // Position
43 | ViconCGStreamType::Double m_Position[ 3 ];
44 |
45 | /// Equality operator
46 | bool operator == ( const VCameraWand3d_Point & i_rOther ) const
47 | {
48 | return m_Position[ 0 ] == i_rOther.m_Position[ 0 ] &&
49 | m_Position[ 1 ] == i_rOther.m_Position[ 1 ] &&
50 | m_Position[ 2 ] == i_rOther.m_Position[ 2 ];
51 | }
52 |
53 | /// Read function.
54 | bool Read( const ViconCGStreamIO::VBuffer & i_rBuffer )
55 | {
56 | return i_rBuffer.Read( m_Position );
57 | }
58 |
59 | /// Write function.
60 | void Write( ViconCGStreamIO::VBuffer & i_rBuffer ) const
61 | {
62 | i_rBuffer.Write( m_Position );
63 | }
64 |
65 | };
66 |
67 | //-------------------------------------------------------------------------------------------------
68 | };
69 |
70 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconCGStream/StopMulticastSender.h:
--------------------------------------------------------------------------------
1 |
2 | //////////////////////////////////////////////////////////////////////////////////
3 | // MIT License
4 | //
5 | // Copyright (c) 2020 Vicon Motion Systems Ltd
6 | //
7 | // Permission is hereby granted, free of charge, to any person obtaining a copy
8 | // of this software and associated documentation files (the "Software"), to deal
9 | // in the Software without restriction, including without limitation the rights
10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | // copies of the Software, and to permit persons to whom the Software is
12 | // furnished to do so, subject to the following conditions:
13 | //
14 | // The above copyright notice and this permission notice shall be included in all
15 | // copies or substantial portions of the Software.
16 | //
17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | // SOFTWARE.
24 | //////////////////////////////////////////////////////////////////////////////////
25 | #pragma once
26 |
27 | /// \file
28 | /// Contains the declaration of the ViconCGStream::VKeepAlive class.
29 |
30 | #include "Item.h"
31 |
32 | namespace ViconCGStream
33 | {
34 | //-------------------------------------------------------------------------------------------------
35 |
36 | /// Stop client multicast session
37 | class VStopMulticastSender : public VItem
38 | {
39 | public:
40 |
41 | /// Equality operator.
42 | bool operator == ( const VStopMulticastSender & /*i_rVStopMulticastSender*/ ) const
43 | {
44 | return true;
45 | }
46 |
47 | /// Object type enum.
48 | virtual ViconCGStreamType::Enum TypeID() const
49 | {
50 | return ViconCGStreamEnum::StopMulticastSender;
51 | }
52 |
53 | /// Filter ID
54 | virtual ViconCGStreamType::UInt32 FilterID() const
55 | {
56 | return FILTER_NA;
57 | }
58 |
59 | /// Read function.
60 | virtual bool Read( const ViconCGStreamIO::VBuffer & /*i_rBuffer*/ )
61 | {
62 | return true;
63 | }
64 |
65 | /// Write function.
66 | virtual void Write( ViconCGStreamIO::VBuffer & /*i_rBuffer*/ ) const
67 | {
68 | }
69 |
70 | };
71 |
72 | //-------------------------------------------------------------------------------------------------
73 | };
74 |
75 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconCGStream/RequestNextFrame.h:
--------------------------------------------------------------------------------
1 |
2 | //////////////////////////////////////////////////////////////////////////////////
3 | // MIT License
4 | //
5 | // Copyright (c) 2020 Vicon Motion Systems Ltd
6 | //
7 | // Permission is hereby granted, free of charge, to any person obtaining a copy
8 | // of this software and associated documentation files (the "Software"), to deal
9 | // in the Software without restriction, including without limitation the rights
10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | // copies of the Software, and to permit persons to whom the Software is
12 | // furnished to do so, subject to the following conditions:
13 | //
14 | // The above copyright notice and this permission notice shall be included in all
15 | // copies or substantial portions of the Software.
16 | //
17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | // SOFTWARE.
24 | //////////////////////////////////////////////////////////////////////////////////
25 | #pragma once
26 |
27 | #include "Item.h"
28 |
29 | namespace ViconCGStream
30 | {
31 | //-------------------------------------------------------------------------------------------------
32 |
33 | /// Used by the client to request the next frame of data.
34 | class VRequestNextFrame : public VItem
35 | {
36 | public:
37 |
38 | /// Number of frames to request.
39 | unsigned int m_bNumber = 1;
40 |
41 | /// Equality operator
42 | bool operator == ( const VRequestNextFrame & i_rOther ) const
43 | {
44 | return m_bNumber == i_rOther.m_bNumber;
45 | }
46 |
47 | /// Object type enum.
48 | virtual ViconCGStreamType::Enum TypeID() const
49 | {
50 | return ViconCGStreamEnum::RequestNextFrame;
51 | }
52 |
53 | /// Filter ID
54 | virtual ViconCGStreamType::UInt32 FilterID() const
55 | {
56 | return FILTER_NA;
57 | }
58 |
59 | /// Read function.
60 | virtual bool Read( const ViconCGStreamIO::VBuffer & i_rBuffer )
61 | {
62 | return i_rBuffer.Read( m_bNumber );
63 | }
64 |
65 | /// Write function.
66 | virtual void Write( ViconCGStreamIO::VBuffer & i_rBuffer ) const
67 | {
68 | i_rBuffer.Write( m_bNumber );
69 | }
70 |
71 | };
72 |
73 | //-------------------------------------------------------------------------------------------------
74 | };
75 |
76 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconCGStream/Ping.h:
--------------------------------------------------------------------------------
1 |
2 | //////////////////////////////////////////////////////////////////////////////////
3 | // MIT License
4 | //
5 | // Copyright (c) 2020 Vicon Motion Systems Ltd
6 | //
7 | // Permission is hereby granted, free of charge, to any person obtaining a copy
8 | // of this software and associated documentation files (the "Software"), to deal
9 | // in the Software without restriction, including without limitation the rights
10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | // copies of the Software, and to permit persons to whom the Software is
12 | // furnished to do so, subject to the following conditions:
13 | //
14 | // The above copyright notice and this permission notice shall be included in all
15 | // copies or substantial portions of the Software.
16 | //
17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | // SOFTWARE.
24 | //////////////////////////////////////////////////////////////////////////////////
25 | #pragma once
26 |
27 | /// \file
28 | /// Contains the declaration of the ViconCGStream::VPing class.
29 |
30 | #include "Item.h"
31 |
32 | namespace ViconCGStream
33 | {
34 | //-------------------------------------------------------------------------------------------------
35 |
36 | /// Ping object.
37 | class VPing : public VItem
38 | {
39 | public:
40 |
41 | /// Stream frame number
42 | ViconCGStreamType::UInt64 m_PingID;
43 |
44 | /// Equality operator.
45 | bool operator == ( const VPing & i_rOther ) const
46 | {
47 | return m_PingID == i_rOther.m_PingID;
48 | }
49 |
50 | /// Object type enum.
51 | virtual ViconCGStreamType::Enum TypeID() const
52 | {
53 | return ViconCGStreamEnum::Ping;
54 | }
55 |
56 | /// Filter ID
57 | virtual ViconCGStreamType::UInt32 FilterID() const
58 | {
59 | return FILTER_NA;
60 | }
61 |
62 | /// Read function.
63 | virtual bool Read( const ViconCGStreamIO::VBuffer & i_rBuffer )
64 | {
65 | return i_rBuffer.Read( m_PingID );
66 | }
67 |
68 | /// Write function.
69 | virtual void Write( ViconCGStreamIO::VBuffer & i_rBuffer ) const
70 | {
71 | i_rBuffer.Write( m_PingID );
72 | }
73 |
74 | };
75 |
76 | //-------------------------------------------------------------------------------------------------
77 | };
78 |
79 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconCGStream/RequestFrame.h:
--------------------------------------------------------------------------------
1 |
2 | //////////////////////////////////////////////////////////////////////////////////
3 | // MIT License
4 | //
5 | // Copyright (c) 2020 Vicon Motion Systems Ltd
6 | //
7 | // Permission is hereby granted, free of charge, to any person obtaining a copy
8 | // of this software and associated documentation files (the "Software"), to deal
9 | // in the Software without restriction, including without limitation the rights
10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | // copies of the Software, and to permit persons to whom the Software is
12 | // furnished to do so, subject to the following conditions:
13 | //
14 | // The above copyright notice and this permission notice shall be included in all
15 | // copies or substantial portions of the Software.
16 | //
17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | // SOFTWARE.
24 | //////////////////////////////////////////////////////////////////////////////////
25 | #pragma once
26 |
27 | #include "Item.h"
28 | #include
29 |
30 | namespace ViconCGStream
31 | {
32 | //-------------------------------------------------------------------------------------------------
33 |
34 | /// Used by the client to request a new frame of data and to control streaming mode
35 | class VRequestFrame : public VItem
36 | {
37 | public:
38 |
39 | /// Streaming mode
40 | bool m_bStreaming;
41 |
42 | /// Equality operator
43 | bool operator == ( const VRequestFrame & i_rOther ) const
44 | {
45 | return m_bStreaming == i_rOther.m_bStreaming;
46 | }
47 |
48 | /// Object type enum.
49 | virtual ViconCGStreamType::Enum TypeID() const
50 | {
51 | return ViconCGStreamEnum::RequestFrame;
52 | }
53 |
54 | /// Filter ID
55 | virtual ViconCGStreamType::UInt32 FilterID() const
56 | {
57 | return FILTER_NA;
58 | }
59 |
60 | /// Read function.
61 | virtual bool Read( const ViconCGStreamIO::VBuffer & i_rBuffer )
62 | {
63 | return i_rBuffer.Read( m_bStreaming );
64 | }
65 |
66 | /// Write function.
67 | virtual void Write( ViconCGStreamIO::VBuffer & i_rBuffer ) const
68 | {
69 | i_rBuffer.Write( m_bStreaming );
70 | }
71 |
72 | };
73 |
74 | //-------------------------------------------------------------------------------------------------
75 | };
76 |
77 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconCGStream/ApexHaptics.h:
--------------------------------------------------------------------------------
1 |
2 | //////////////////////////////////////////////////////////////////////////////////
3 | // MIT License
4 | //
5 | // Copyright (c) 2020 Vicon Motion Systems Ltd
6 | //
7 | // Permission is hereby granted, free of charge, to any person obtaining a copy
8 | // of this software and associated documentation files (the "Software"), to deal
9 | // in the Software without restriction, including without limitation the rights
10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | // copies of the Software, and to permit persons to whom the Software is
12 | // furnished to do so, subject to the following conditions:
13 | //
14 | // The above copyright notice and this permission notice shall be included in all
15 | // copies or substantial portions of the Software.
16 | //
17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | // SOFTWARE.
24 | //////////////////////////////////////////////////////////////////////////////////
25 | #pragma once
26 |
27 | #include "Item.h"
28 | #include
29 |
30 | namespace ViconCGStream
31 | {
32 | //-------------------------------------------------------------------------------------------------
33 |
34 | /// Used by the client to enable and disable haptics on Apex device.
35 | class VApexHaptics : public VItem
36 | {
37 | public:
38 |
39 | /// List of devices with haptics feedback on
40 | std::set< unsigned int > m_OnDevicesList;
41 |
42 |
43 | /// Equality operator
44 | bool operator == ( const VApexHaptics & i_rOther ) const
45 | {
46 | return m_OnDevicesList == i_rOther.m_OnDevicesList;
47 | }
48 |
49 | /// Object type enum.
50 | virtual ViconCGStreamType::Enum TypeID() const
51 | {
52 | return ViconCGStreamEnum::ApexHaptics;
53 | }
54 |
55 | /// Filter ID
56 | virtual ViconCGStreamType::UInt32 FilterID() const
57 | {
58 | return FILTER_NA;
59 | }
60 |
61 | /// Read function.
62 | virtual bool Read( const ViconCGStreamIO::VBuffer & i_rBuffer )
63 | {
64 | return i_rBuffer.Read( m_OnDevicesList );
65 | }
66 |
67 | /// Write function.
68 | virtual void Write( ViconCGStreamIO::VBuffer & i_rBuffer ) const
69 | {
70 | i_rBuffer.Write( m_OnDevicesList );
71 | }
72 |
73 | };
74 |
75 | //-------------------------------------------------------------------------------------------------
76 | };
77 |
78 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconCGStream/FrameRateInfo.h:
--------------------------------------------------------------------------------
1 |
2 | //////////////////////////////////////////////////////////////////////////////////
3 | // MIT License
4 | //
5 | // Copyright (c) 2020 Vicon Motion Systems Ltd
6 | //
7 | // Permission is hereby granted, free of charge, to any person obtaining a copy
8 | // of this software and associated documentation files (the "Software"), to deal
9 | // in the Software without restriction, including without limitation the rights
10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | // copies of the Software, and to permit persons to whom the Software is
12 | // furnished to do so, subject to the following conditions:
13 | //
14 | // The above copyright notice and this permission notice shall be included in all
15 | // copies or substantial portions of the Software.
16 | //
17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | // SOFTWARE.
24 | //////////////////////////////////////////////////////////////////////////////////
25 | #pragma once
26 |
27 | /// \file
28 | /// Contains the declaration of the ViconCGStream::VLatencyInfo class.
29 |
30 | #include "Item.h"
31 |
32 | namespace ViconCGStream
33 | {
34 | //-------------------------------------------------------------------------------------------------
35 |
36 | /// Contains the latency samples taken
37 | class VFrameRateInfo : public VItem
38 | {
39 | public:
40 | /// Samples
41 | std::map< std::string, double > m_FrameRates;
42 |
43 | /// Equality operator
44 | bool operator == ( const VFrameRateInfo& i_rOther ) const
45 | {
46 | return ( m_FrameRates == i_rOther.m_FrameRates );
47 | }
48 |
49 | /// Object type enum.
50 | virtual ViconCGStreamType::Enum TypeID() const
51 | {
52 | return ViconCGStreamEnum::FrameRateInfo;
53 | }
54 |
55 | /// Filter ID
56 | virtual ViconCGStreamType::UInt32 FilterID() const
57 | {
58 | return FILTER_NA;
59 | }
60 |
61 | /// Read function.
62 | virtual bool Read( const ViconCGStreamIO::VBuffer & i_rBuffer )
63 | {
64 | return i_rBuffer.Read( m_FrameRates );
65 | }
66 |
67 | /// Write function.
68 | virtual void Write( ViconCGStreamIO::VBuffer & i_rBuffer ) const
69 | {
70 | i_rBuffer.Write( m_FrameRates );
71 | }
72 |
73 | };
74 |
75 | //-------------------------------------------------------------------------------------------------
76 | };
77 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconCGStream/FrameInfo.h:
--------------------------------------------------------------------------------
1 |
2 | //////////////////////////////////////////////////////////////////////////////////
3 | // MIT License
4 | //
5 | // Copyright (c) 2020 Vicon Motion Systems Ltd
6 | //
7 | // Permission is hereby granted, free of charge, to any person obtaining a copy
8 | // of this software and associated documentation files (the "Software"), to deal
9 | // in the Software without restriction, including without limitation the rights
10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | // copies of the Software, and to permit persons to whom the Software is
12 | // furnished to do so, subject to the following conditions:
13 | //
14 | // The above copyright notice and this permission notice shall be included in all
15 | // copies or substantial portions of the Software.
16 | //
17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | // SOFTWARE.
24 | //////////////////////////////////////////////////////////////////////////////////
25 | #pragma once
26 |
27 | /// \file
28 | /// Contains the declaration of the ViconCGStream::VFrameInfo class.
29 |
30 | #include "Item.h"
31 |
32 | namespace ViconCGStream
33 | {
34 | //-------------------------------------------------------------------------------------------------
35 |
36 | /// Contains the master frame number for the current frame of objects.
37 | class VFrameInfo : public VItem
38 | {
39 | public:
40 |
41 | /// Stream frame number
42 | ViconCGStreamType::UInt32 m_FrameID;
43 |
44 | /// Equality operator
45 | bool operator == ( const VFrameInfo & i_rOther ) const
46 | {
47 | return m_FrameID == i_rOther.m_FrameID;
48 | }
49 |
50 | /// Object type enum.
51 | virtual ViconCGStreamType::Enum TypeID() const
52 | {
53 | return ViconCGStreamEnum::FrameInfo;
54 | }
55 |
56 | /// Filter ID
57 | virtual ViconCGStreamType::UInt32 FilterID() const
58 | {
59 | return FILTER_NA;
60 | }
61 |
62 | /// Read function.
63 | virtual bool Read( const ViconCGStreamIO::VBuffer & i_rBuffer )
64 | {
65 | return i_rBuffer.Read( m_FrameID );
66 | }
67 |
68 | /// Write function.
69 | virtual void Write( ViconCGStreamIO::VBuffer & i_rBuffer ) const
70 | {
71 | i_rBuffer.Write( m_FrameID );
72 | }
73 |
74 | };
75 |
76 | //-------------------------------------------------------------------------------------------------
77 | };
78 |
79 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconCGStream/EdgePairsDetail.h:
--------------------------------------------------------------------------------
1 |
2 | //////////////////////////////////////////////////////////////////////////////////
3 | // MIT License
4 | //
5 | // Copyright (c) 2020 Vicon Motion Systems Ltd
6 | //
7 | // Permission is hereby granted, free of charge, to any person obtaining a copy
8 | // of this software and associated documentation files (the "Software"), to deal
9 | // in the Software without restriction, including without limitation the rights
10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | // copies of the Software, and to permit persons to whom the Software is
12 | // furnished to do so, subject to the following conditions:
13 | //
14 | // The above copyright notice and this permission notice shall be included in all
15 | // copies or substantial portions of the Software.
16 | //
17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | // SOFTWARE.
24 | //////////////////////////////////////////////////////////////////////////////////
25 | #pragma once
26 |
27 | /// \file
28 | /// Contains the detail declaration of the ViconCGStream::VEdgePairs class.
29 |
30 | #include "Enum.h"
31 | #include
32 | #include "IsEqual.h"
33 |
34 | namespace ViconCGStreamDetail
35 | {
36 | //-------------------------------------------------------------------------------------------------
37 |
38 | /// Contains a frame of edge pairs, along with the camera identifier and frame number.
39 | class VEdgePairs_EdgePair
40 | {
41 | public:
42 |
43 | /// 2D position
44 | ViconCGStreamType::Int16 m_Position[ 2 ];
45 |
46 | /// Number of pixels in the line
47 | ViconCGStreamType::UInt16 m_Length;
48 |
49 | /// Equality operator
50 | bool operator == ( const VEdgePairs_EdgePair & i_rOther ) const
51 | {
52 | return IsEqual( m_Position, i_rOther.m_Position ) &&
53 | m_Length == i_rOther.m_Length;
54 | }
55 |
56 | /// Read function.
57 | bool Read( const ViconCGStreamIO::VBuffer & i_rBuffer )
58 | {
59 | return i_rBuffer.Read( m_Position ) &&
60 | i_rBuffer.Read( m_Length );
61 | }
62 |
63 | /// Write function.
64 | void Write( ViconCGStreamIO::VBuffer & i_rBuffer ) const
65 | {
66 | i_rBuffer.Write( m_Position );
67 | i_rBuffer.Write( m_Length );
68 | }
69 | };
70 |
71 | //-------------------------------------------------------------------------------------------------
72 | };
73 |
74 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconCGStream/LatencyInfo.h:
--------------------------------------------------------------------------------
1 |
2 | //////////////////////////////////////////////////////////////////////////////////
3 | // MIT License
4 | //
5 | // Copyright (c) 2020 Vicon Motion Systems Ltd
6 | //
7 | // Permission is hereby granted, free of charge, to any person obtaining a copy
8 | // of this software and associated documentation files (the "Software"), to deal
9 | // in the Software without restriction, including without limitation the rights
10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | // copies of the Software, and to permit persons to whom the Software is
12 | // furnished to do so, subject to the following conditions:
13 | //
14 | // The above copyright notice and this permission notice shall be included in all
15 | // copies or substantial portions of the Software.
16 | //
17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | // SOFTWARE.
24 | //////////////////////////////////////////////////////////////////////////////////
25 | #pragma once
26 |
27 | /// \file
28 | /// Contains the declaration of the ViconCGStream::VLatencyInfo class.
29 |
30 | #include "Item.h"
31 | #include "LatencyInfoDetail.h"
32 | #include
33 |
34 | namespace ViconCGStream
35 | {
36 | //-------------------------------------------------------------------------------------------------
37 |
38 | /// Contains the latency samples taken
39 | class VLatencyInfo : public VItem
40 | {
41 | public:
42 | /// Samples
43 | std::vector< ViconCGStreamDetail::VLatencyInfo_Sample > m_Samples;
44 |
45 | /// Equality operator
46 | bool operator == ( const VLatencyInfo& i_rOther ) const
47 | {
48 | return ( m_Samples == i_rOther.m_Samples );
49 | }
50 |
51 | /// Object type enum.
52 | virtual ViconCGStreamType::Enum TypeID() const
53 | {
54 | return ViconCGStreamEnum::LatencyInfo;
55 | }
56 |
57 | /// Filter ID
58 | virtual ViconCGStreamType::UInt32 FilterID() const
59 | {
60 | return FILTER_NA;
61 | }
62 |
63 | /// Read function.
64 | virtual bool Read( const ViconCGStreamIO::VBuffer & i_rBuffer )
65 | {
66 | return i_rBuffer.Read( m_Samples );
67 | }
68 |
69 | /// Write function.
70 | virtual void Write( ViconCGStreamIO::VBuffer & i_rBuffer ) const
71 | {
72 | i_rBuffer.Write( m_Samples );
73 | }
74 |
75 | };
76 |
77 | //-------------------------------------------------------------------------------------------------
78 | };
79 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconCGStream/StreamInfo.h:
--------------------------------------------------------------------------------
1 |
2 | //////////////////////////////////////////////////////////////////////////////////
3 | // MIT License
4 | //
5 | // Copyright (c) 2020 Vicon Motion Systems Ltd
6 | //
7 | // Permission is hereby granted, free of charge, to any person obtaining a copy
8 | // of this software and associated documentation files (the "Software"), to deal
9 | // in the Software without restriction, including without limitation the rights
10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | // copies of the Software, and to permit persons to whom the Software is
12 | // furnished to do so, subject to the following conditions:
13 | //
14 | // The above copyright notice and this permission notice shall be included in all
15 | // copies or substantial portions of the Software.
16 | //
17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | // SOFTWARE.
24 | //////////////////////////////////////////////////////////////////////////////////
25 | #pragma once
26 |
27 | /// \file
28 | /// Contains the declaration of the ViconCGStream::VStreamInfo class.
29 |
30 | #include "Item.h"
31 |
32 | namespace ViconCGStream
33 | {
34 | //-------------------------------------------------------------------------------------------------
35 |
36 | /// Contains the master frame period.
37 | class VStreamInfo : public VItem
38 | {
39 | public:
40 |
41 | /// Stream frame period. Defined as the numbers of ticks per frame on a 135Mhz clock.
42 | ViconCGStreamType::Int64 m_FramePeriod;
43 |
44 | /// Equality operator
45 | bool operator == ( const VStreamInfo& i_rOther ) const
46 | {
47 | return m_FramePeriod == i_rOther.m_FramePeriod;
48 | }
49 |
50 | /// Object type enum.
51 | virtual ViconCGStreamType::Enum TypeID() const
52 | {
53 | return ViconCGStreamEnum::StreamInfo;
54 | }
55 |
56 | /// Filter ID
57 | virtual ViconCGStreamType::UInt32 FilterID() const
58 | {
59 | return FILTER_NA;
60 | }
61 |
62 | /// Read function.
63 | virtual bool Read( const ViconCGStreamIO::VBuffer & i_rBuffer )
64 | {
65 | return i_rBuffer.Read( m_FramePeriod );
66 | }
67 |
68 | /// Write function.
69 | virtual void Write( ViconCGStreamIO::VBuffer & i_rBuffer ) const
70 | {
71 | i_rBuffer.Write( m_FramePeriod );
72 | }
73 |
74 | };
75 |
76 | //-------------------------------------------------------------------------------------------------
77 | };
78 |
79 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconCGStream/SubjectScaleDetail.h:
--------------------------------------------------------------------------------
1 |
2 | //////////////////////////////////////////////////////////////////////////////////
3 | // MIT License
4 | //
5 | // Copyright (c) 2020 Vicon Motion Systems Ltd
6 | //
7 | // Permission is hereby granted, free of charge, to any person obtaining a copy
8 | // of this software and associated documentation files (the "Software"), to deal
9 | // in the Software without restriction, including without limitation the rights
10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | // copies of the Software, and to permit persons to whom the Software is
12 | // furnished to do so, subject to the following conditions:
13 | //
14 | // The above copyright notice and this permission notice shall be included in all
15 | // copies or substantial portions of the Software.
16 | //
17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | // SOFTWARE.
24 | //////////////////////////////////////////////////////////////////////////////////
25 | #pragma once
26 |
27 | #include
28 | #include
29 | #include
30 |
31 | namespace ViconCGStreamDetail
32 | {
33 | //-------------------------------------------------------------------------------------------------
34 |
35 | /// (Member of VSubjectScale) Contains scale information
36 | class VSubjectScale_Segment
37 | {
38 | public:
39 | /// Segment identifier
40 | ViconCGStreamType::UInt32 m_SegmentID;
41 |
42 | /// Scale of segment in x,y,z
43 | ViconCGStreamType::Double m_Scale[ 3 ];
44 |
45 | bool IsEqual( const VSubjectScale_Segment & i_rOther ) const
46 | {
47 | return m_SegmentID == i_rOther.m_SegmentID &&
48 | ViconCGStreamDetail::IsEqual(m_Scale, i_rOther.m_Scale);
49 | }
50 |
51 | /// Equality operator
52 | bool operator == ( const VSubjectScale_Segment & i_rOther ) const
53 | {
54 | return IsEqual( i_rOther );
55 | }
56 |
57 | /// Read function.
58 | bool Read( const ViconCGStreamIO::VBuffer & i_rBuffer )
59 | {
60 | return i_rBuffer.Read( m_SegmentID ) &&
61 | i_rBuffer.Read(m_Scale);
62 | }
63 |
64 | /// Write function.
65 | void Write( ViconCGStreamIO::VBuffer & i_rBuffer ) const
66 | {
67 | i_rBuffer.Write( m_SegmentID );
68 | i_rBuffer.Write(m_Scale);
69 | }
70 | };
71 |
72 | //-------------------------------------------------------------------------------------------------
73 | };
74 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconCGStream/ObjectEnums.h:
--------------------------------------------------------------------------------
1 |
2 | //////////////////////////////////////////////////////////////////////////////////
3 | // MIT License
4 | //
5 | // Copyright (c) 2020 Vicon Motion Systems Ltd
6 | //
7 | // Permission is hereby granted, free of charge, to any person obtaining a copy
8 | // of this software and associated documentation files (the "Software"), to deal
9 | // in the Software without restriction, including without limitation the rights
10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | // copies of the Software, and to permit persons to whom the Software is
12 | // furnished to do so, subject to the following conditions:
13 | //
14 | // The above copyright notice and this permission notice shall be included in all
15 | // copies or substantial portions of the Software.
16 | //
17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | // SOFTWARE.
24 | //////////////////////////////////////////////////////////////////////////////////
25 | #pragma once
26 |
27 | /// \file
28 | /// Contains the declaration of the ViconCGStream::VObjectEnums class.
29 |
30 | #include "Item.h"
31 | #include
32 |
33 | namespace ViconCGStream
34 | {
35 | //-------------------------------------------------------------------------------------------------
36 |
37 | /// Used by the server to declare the available object identifiers, and by the client to enable/disable objects.
38 | class VObjectEnums : public VItem
39 | {
40 | public:
41 |
42 | /// Object enums
43 | std::set< ViconCGStreamType::Enum > m_Enums;
44 |
45 | // Equality operator
46 | bool operator == ( const VObjectEnums & i_rOther ) const
47 | {
48 | return m_Enums == i_rOther.m_Enums;
49 | }
50 |
51 | /// Object type enum.
52 | virtual ViconCGStreamType::Enum TypeID() const
53 | {
54 | return ViconCGStreamEnum::ObjectEnums;
55 | }
56 |
57 | /// Filter ID
58 | virtual ViconCGStreamType::UInt32 FilterID() const
59 | {
60 | return FILTER_NA;
61 | }
62 |
63 | /// Read function.
64 | virtual bool Read( const ViconCGStreamIO::VBuffer & i_rBuffer )
65 | {
66 | return i_rBuffer.Read( m_Enums );
67 | }
68 |
69 | /// Write function.
70 | virtual void Write( ViconCGStreamIO::VBuffer & i_rBuffer ) const
71 | {
72 | i_rBuffer.Write( m_Enums );
73 | }
74 |
75 | };
76 |
77 | //-------------------------------------------------------------------------------------------------
78 | };
79 |
80 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/StreamCommon/Type.h:
--------------------------------------------------------------------------------
1 |
2 | //////////////////////////////////////////////////////////////////////////////////
3 | // MIT License
4 | //
5 | // Copyright (c) 2020 Vicon Motion Systems Ltd
6 | //
7 | // Permission is hereby granted, free of charge, to any person obtaining a copy
8 | // of this software and associated documentation files (the "Software"), to deal
9 | // in the Software without restriction, including without limitation the rights
10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | // copies of the Software, and to permit persons to whom the Software is
12 | // furnished to do so, subject to the following conditions:
13 | //
14 | // The above copyright notice and this permission notice shall be included in all
15 | // copies or substantial portions of the Software.
16 | //
17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | // SOFTWARE.
24 | //////////////////////////////////////////////////////////////////////////////////
25 | #pragma once
26 |
27 | /// \file
28 | /// Contains the declaration of the ViconCGStreamType namespace.
29 |
30 | /**
31 | * This namespace defines the set of primitive types used by the protocol Readers and Writers, and
32 | * also by the objects defined in the ViconCGStream namespace.
33 | *
34 | * See ViconCGStreamIO::VReader, ViconCGStreamIO::VWriter.
35 | */
36 | namespace ViconCGStreamType
37 | {
38 | //-------------------------------------------------------------------------------------------------
39 |
40 | /// Single 8-bit character.
41 | typedef char Char;
42 | /// 8-bit signed integer.
43 | typedef char Int8;
44 | /// 16-bit signed integer.
45 | typedef short Int16;
46 | /// 32-bit signed integer.
47 | typedef int Int32;
48 | /// 64-bit signed integer.
49 | typedef long long Int64;
50 |
51 | /// 8-bit unsigned integer.
52 | typedef unsigned char UInt8;
53 | /// 16-bit unsigned integer.
54 | typedef unsigned short UInt16;
55 | /// 32-bit unsigned integer.
56 | typedef unsigned int UInt32;
57 | /// 64-bit unsigned integer.
58 | typedef unsigned long long UInt64;
59 |
60 | /// 32-bit IEEE-format floating-point number.
61 | typedef float Float;
62 | /// 64-bit IEEE-format floating-point number.
63 | typedef double Double;
64 |
65 | /** This is a special type to distinguish members of the ViconCGStreamEnum namespace from other
66 | * primitives in the stream.
67 | */
68 | typedef UInt32 Enum;
69 |
70 | //-------------------------------------------------------------------------------------------------
71 | };
72 |
73 |
--------------------------------------------------------------------------------
/Vicon/CrossMarket/DataStream/ViconDataStreamSDKCore/SegmentPoseReader.h:
--------------------------------------------------------------------------------
1 |
2 | //////////////////////////////////////////////////////////////////////////////////
3 | // MIT License
4 | //
5 | // Copyright (c) 2020 Vicon Motion Systems Ltd
6 | //
7 | // Permission is hereby granted, free of charge, to any person obtaining a copy
8 | // of this software and associated documentation files (the "Software"), to deal
9 | // in the Software without restriction, including without limitation the rights
10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | // copies of the Software, and to permit persons to whom the Software is
12 | // furnished to do so, subject to the following conditions:
13 | //
14 | // The above copyright notice and this permission notice shall be included in all
15 | // copies or substantial portions of the Software.
16 | //
17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | // SOFTWARE.
24 | //////////////////////////////////////////////////////////////////////////////////
25 | #pragma once
26 |
27 | #include
28 |
29 | #include
30 | #include