Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • What should the application do?

  • What sort of user interface should it have?

  • On what kind of computer/device should it run (Windows? , iOS? Android? Other, Android, or other)?

Some additional remarks on the way of working:

  • Please note that these are just initial questions to get the discussion going, quite a bit more detail would probably be required, depending on the complexity of your requirements.

  • Based on the requirements worked out to a suitable level, we could make a Project Proposal, including the time and cost, for building your application.

  • Please note that working out your requirements and preparing the Project Proposal may be considerable work in itself so, depending on the complexity of your requirements, we may need to charge for that work tooas well.

Your contact person can advise on provide further details.

Info

See also:

Am I entitled to receive technical support?

  • Most of our licenses include the initial 5 hours of support, so if . If you have purchased a license for visage|SDK, then you can use this support (delivered via email).

  • For the majority of our clients, the initial support hours are more than sufficient, but it is also possible to order additional support - your . Your contact person can advise you on this.

  • If you are evaluating visage|SDK and have technical issues, we will do our best, within reasonable limits, to support your evaluation.

...

  • the version of visage|SDK (please see it you can find that information in the upper left corner of the documentation, as depicted in the image below).

Note

This is a reference to the deprecated offline documentation. It needs to be replaced with new instructions on how to obtain SDK version.

...

Migration to a new version of visage|SDK is covered in on the migration.html page within visage|SDK Documentation.

...

  1. Obtain new library files (usually in visageSDK/lib) (.dll, .so, .a, .lib) and overwrite the old ones in your application.

  2. Obtain new header files (usually in visageSDK/include) and overwrite the old ones in your application.

  3. Obtain new data files (usually in visageSDK/Samples/data) and overwrite the old ones in your application (models as well).

  4. Read about the changes in parameters of the configuration files and apply them to your configuration. In case you use default configuration, just overwrite it with the new one.

...

Integration with Unity 3D game engine is available with visage|SDK packages for Windows, iOS, Android, MAC OS X and HTML5. Each of these packages includes Unity sample projects to help you get started. Unity 3D integration is implemented via the VisageTrackerUnityPlugin plugin; this . This is a wrapper that exposes visage|SDK functionalities for use in C#.

Once you download and unpack the visage|SDK package, in the root folder you will find the Documentation in the root folder. You can either start your own project from scratch (visage|SDK>Documentation>Samples>Unty3D>Unity integration), or look for the samples (visage|SDK>Documentation>Samples>Unity3D) that come with full source code so you can use them as know-how for your project.

...

visage|SDK is implemented in C++. It provides C++ and C# APIs, but unfortunately currently does not include a Java API. visage|SDK for Android includes JNI-based Java wrappers as part of the sample projects provided in the package; you could . You can use these wrappers as a starting point for your own projects in Java. In conclusion, it is certainly possible to use visage|SDK with Java, but it requires some additional effort for interfacing via JNA wrappers.

...


visage|SDK does not currently provide a VB.NET API.

For users willing to experiment, there is an undocumented and currently unsupported workaround that should allow to use it.

visage|SDK is implemented in C++. It provides C++ and C# APIs. On Windows, the C# API is implemented as a C++/CLI library (VisageCSWrapper) which, in theory, should be usable in other NET languages, e.g. VB.NET. However, we have not tested this. The C# API documentation may be used as a basis for usage of VisageCSWrapper C++/CLI library in VB.NET.

...


visage|SDK does not currently provide a Python API.

For users willing to experiment, there is an undocumented workaround that allows users to use Python.

visage|SDK is implemented in C++ and provides C++ API which cannot easily be used directly in Python without a C functions wrapper. visage|SDK provides such a wrapper in the form of VisageTrackerUnity Plugin which was made specifically for integration with Unity 3D engine however . However, it can also be used by other applications/languages that support importing C functions from a library. At its core, the VisageTrackerUnity Plugin is a high-level C functions API wrapper around C++ API. In the case of Python, ctypes library (foreign function library for Python) can be used to import and use C functions from VisageTrackerUnity Plugin. As the source code is provided, VisageTrackerUnity Plugin can also be used to implement custom Python wrapper.
Even though it was tested, such usage of VisageTrackerUnity Plugin is not officially supported.

...

visage|SDK does not currently provide direct support for React Native.

For users willing to experiment, there is an undocumented workaround that allows use of visage|SDK in React Native.

visage|SDK is implemented in C++ and provides C++ API, therefore direct calls from React Native are not possible without a wrapper with C-interface functions. Example An example of such a wrapper is provided in visage|SDK in the form of VisageTrackerUnity Plugin which provides simpler, high-level API through a C-interface. It is intended for integration with Unity3D (in C# with P/Invoke), however but it can also be used by other applications/languages that support importing and calling C-functions from a native library, including React Native.

...

visage|SDK does not currently provide direct support for Flutter.

For users willing to experiment, there is an undocumented workaround that allows use of visage|SDK in Flutter.
visage|SDK is implemented in C++ and provides C++ API. Therefore, therefore direct calls from Flutter are not possible without a wrapper with C-interface functions. Example An example of such a wrapper is provided in visage|SDK in the form of VisageTrackerUnity Plugin which provides simpler, high-level API through a C-interface. It is intended for integration with Unity3D (in C# with P/Invoke), however but it can also be used by other applications/languages that support importing and calling C-functions from a native library, including Flutter.

...

visage|SDK does not currently provide a Swift API.

visage|SDK is implemented in C++ and provides C++ API which cannot be used directly in Swift without first wrapping C++ API in an NSObject and exposing it to Swift through bridging-header. Wrapping in an NSObject does not have to be one-on-one mapping with C++ classes. Instead, instead it can be a higher level mapping and fragments of source code from provided iOS sample projects can be used as building blocks.General

A general example of how this technique is usually implemented can be found here:
https://stackoverflow.com/questions/48971931/bridging-c-code-into-my-swift-code-what-file-extensions-go-to-which-c-based-l

A way without wrapping NSObject is by wrapping C++ API in C-interface functions and exposing them through bridging-header. Example of such a wrapper is provided in visage|SDK in the form of VisageTrackerUnity Plugin which provides simpler, high-level API through a C-interface.General

A general example of how this technique is usually implemented can be found here:
https://www.swiftprogrammer.info/swift_call_cpp.html

...

We believe that it should be possible to use visage|SDK in WebView, but we have not tried that nor have any clients currently who have done that so we can not give you a cannot guarantee it. Performance will almost certainly be lower than with a native app.

...


visage|SDK 8.4 for rPI can be downloaded from the following link: https://www.visagetechnologies.com/downloads/visageSDK-rPI-linux_v8.4.tar.bz2
Once you unpack it, you will find the documentation in the root folder you will find the documentation to . It will guide you through the API and the available sample projects.

...

  • Because of very low demand we currently provide visage|SDK for rPI on-demand only.

  • The package you have received is visage|SDK 8.4. The latest release is visage|SDK 8.7 but that is not available for rPI yet. If your initial tests prove interesting, we will need to discuss the possibility to build the latest version on-demand for you. visage|SDK 8.7 provides better performance and accuracy, but the API is mostly unchanged so you can run relevant initial tests.

  • visage|SDK 8.4 for rPI has been tested with rPI3b+; it should work with rPI4 but we have not tested that.

Important notes:

  • Because of very low demand we currently provide visage|SDK for rPI on-demand only.

  • The package you have received is visage|SDK 8.4. The latest release is visage|SDK 8.7 but that is not available for rPI yet. If your initial tests prove interesting, we will need to discuss the possibility to build the latest version on-demand for you. visage|SDK 8.7 provides better performance and accuracy, but the API is mostly unchanged so you can run relevant initial tests.

  • visage|SDK 8.4 for rPI has been tested with rPI3b+; it should work with rPI4 but we have not tested that.

...

Please note that the current HTML5 demos have not been optimized for use in mobile browsers so . Therefore, for the best results it is recommended to use a desktop browser.

...

Please note that the current HTML5 demos have not been optimized for use in mobile browsers so . Therefore, for the best results it is recommended to use a desktop browser.

...

For hardware devices, this can typically be done at installation time – you would connect the device to the network, run the application once, the license registration happens would happen automatically, and after that no network connection is needed.

...