Readme-NatNet.txt 7.49 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210
NaturalPoint, Inc.

NatNet SDK is a simple Client/Server networking SDK for sending and receiving
NaturalPoint data across networks.  NatNet uses the UDP protocol in conjunction
with either multicasting or point-to-point unicasting for transmitting data.

Please refer to the NatNet API USer's Guide for more information.


Change Log
-----------
Version 2.7.0 (10/15/2014)
-----------------------
Added:   Motive 1.7 Streaming support

Added:   New timing sample for validating mocap streaming frame timing.

Added:   New Broadcast Trigger sample illustrating how to use remote record
         trigger/listen using XML formatted UDP broadcast packets instead of NatNet commands.

Added:   NatNetML - added SMPTE Timecode and Timecode Subframe members.  See WinForms sample for usage.

Fixed:   Fix for FrameID periodically displays dropped/duplicate packets during live mode.

Fixed:   Fix for PacketClient incorrectly decoding rigid Body IsTracked parameter.

Fixed:   Fix for crash in GetDataDescriptions() when streaming a Rigid Body with a single character name.

Fixed:   Sample Clint incorrectly reports skeleton marker data

Changed: Update SampleClient3D to clarify quaterion decomposition, add new visuals.

Changed: Maximum markers per rigid body changed from 10 to 20 to match new RigidBody tracking
         capabilities in Motive.

Changed: Frame timestamp now keyed off hardware frame id.  fTimestamp resolution increased
         from float to double *.  
         
         * DirectDepackatization clients should update their code (see timestamp in PacketClient.cpp for an example).

         
Version 2.6.0 (5/8/2014)
------------------------------
Added:   Motive 1.6 Streaming support

Added:   RigidBody tracking state parameter

Added:   IsRecording flag on FrameOfMocapData indicating frame was recorded in Motive

Added:   ModelsChanged flag on FrameOfMocapData indicating actively tracked model list has changed.

Added:   Additional flags on LabelMarkerList indicating marker occlusion and marker position
         calculation method.

Added:   Additional FrameOfMocapData timestamp

Added:   NatCap remote capture sample for illustrating send/receive remote Motive control commands via
         UDP broadcast direct.

Added:   UDP Repeater / Unity3D

Changed: Increase unlabeled/other marker count cap to 1000

Fixed:   SampleClient latency value


Version 2.5.0 (9/2013)
------------------------------
Added:   Motive 1.5 streaming support.

Added:   New Matlab sample.

Added:   Additional function signature overloads to better support MatLab.

Added:   Motive remote control commands Start/Stop Recording, Start/Stop Playback,
         LiveMode, EditMode, SetRecordTakeName, SetLiveTakeName.  Refer to WinForms sample for usage examples.

Added:   Motive record broadcast message parser sample.

Added:   Samples updated to illustrate accessing point cloud model solved marker locations.

Added:   Timing information to WinForms sample.

Added:   New QuaternionToEuler() helper routines

Changed: Winforms Sample update for newer layout, sample Command/Requests for use with Motive

Fixed:   SimplerServer compile issue.

Fixed:   SampleClient when >2 skeletons are streaming.


Version 2.4.0 (3/19/2013)
------------------------------
Added:   Motive 1.0 support.

Fixed:   Memory leak in Client.

Fixed:   Timecode during playback from file.

Fixed:   Fix for crashes during large actor count (4-5) streaming.

Changed: Force "Dont Fragment" bit in IP header to off (0).

Changed: Update Winforms 2010 sample to target .NET 4.0 framework (same as NatNetML.dll assembly).

Changed: NatNetML - added additional MatLab compatible event signature (OnFrameReady2).

Version 2.3.0 (12/28/2011)
------------------------------

Added:   SMPTE Timecode support (where supported, adds timecode stamp to every frame of mocap data).

Added:   New "LabeledMarker" data type.  This data type is used for labeled markers not associated
         with a pre-defined "MarkerSet".

Changed: PacketClient example updated to reflect the new bitstream syntax containing "LabeledMarkers".

Changed: PacketClient example updated to reflect the new bitstream syntax containing Timecode data.



Version 2.2.0 (4/25/2010)
------------------------------
Added:   New Unicast Point-to-Point connection type.  Servers and clients can now 
         use MultiCast or Unicast as their connection type.  Connection type between
         server and client must be the same. 

Added:   Application-definable command and data port assignments, including Multicast address.
         
Added:   VC redistributable installer (\Samples\VCRedist\vcredist_x86.exe) for running
         the pre-compiled samples on machines without VisualStudio and/or the correct
         version of the CRT runtime installed on them.

Changed: Changed PacketClient to support shared addresses (SO_REUSEADDR).  Necessary
         when server and client are running on same machine.

Changed: Updates to SimpleServer, SampleClient, and Winforms client to illustrate
         Unicast usage.

Changed: Default Multicast address/port to IANA safe default values.

Fixed:   Precompiled WinForms sample crashes on some machines.



Version 2.1.0 (11/20/2009)
------------------------------
Added:   New "Skeleton" data type, representing a named, hierarchical collection
         of RigidBodies.


Version 2.0.0 (11/12/2009)
------------------------------       
Added:   New RigidBody parameters
          - RigidBody Name to RigidBody description
          - MarkerData to RigidBody Data, including ID, position, and size
          - MeanError to RigidBody data

Added:   New managed (.NET) class library (NatNetML.dll).  Allows for NatNetClient
         and NatNet data types to be consumed directly in .NET compatible
         environments (e.g. VB.Net, C#, LabView, MatLab).
       
Added:   New WinForms .NET sample application illustrating NatNetML consumption.

Added:   New depacketization sample (PacketClient) to replace the bitstream syntax.
         This sample can be used to decode NatNet packets directly without the need 
         for the NatNet SDK.  Intended only for clients that cannot use the NatNet SDK (e.g. Unix clients).

Added:   New SDK documentation.

Added:   Basic Client/Server message passing support (SendMessage(..)/SendMessageAndWait(..))

Added:   Allow connections to a single server from multiple clients on same and/or different machines.

Changed: SampleClient updated to illustrate MarkerSet and RigidBody data handling.

Changed: SampleServer and SimpleServer samples merged into a single, simplified NatNet Server example.

Changed: SampleClient3D to include conversion and display of RigidBody quaternions to euler angles.

Changed: Updated to IPV6 protocol.

        
Version 1.2.0 (1/23/2008)
------------------------------
Added:   VC8 static library (NatNetLibStatic.lib)

Added:   VC6 static library (NatNetvc6StaticLib.lib)

Added:   x64 libraries (dynamic and static)

Added:   Bitstream syntax documentation.

Added:   Rigid body data type support.

Added:   Versioning information.  NatNet version information is now available from
         file (DLL), local version (NatNetHelper::NatNetVersion), and fom the
         connected application(ServerDescription.NatNetVersion()) to help ensure NatNet
         server/client versions are in synch.

Changed: Updated to Visual Studio 2005 Project files.

Changed: Removed all /clr references.  NatNet and the samples use strictly
         native code.

Changed: NatNet types and helper routines cleaned up to improve usage.

Changed: SampleServer and Sampleclient programs updated to illustrate new usages.