# Path: imusim/capture/marker.py
# class MarkerCapture(object):
#     """
#     Marker trajectory data captured synchronously for one or more markers.
# 
#     @ivar sampleTimes: Sequence of times at which samples were taken.
#     """
# 
#     def __init__(self):
#         """
#         Initialise capture.
#         """
#         self._markers = dict()
# 
#     def _addMarker(self, marker):
#         self._markers[marker.id] = marker
# 
#     @property
#     def markers(self):
#         """
#         List of the markers in this capture.
#         """
#         return self._markers.values()
# 
#     def marker(self, id):
#         """
#         Get a marker by identifier.
# 
#         @return: The L{Marker} with the given identifier.
#         """
#         return self._markers[id]
# 
# class Marker3DOF(SampledPositionTrajectory, Marker):
#     """
#     A capture marker with 3DOF position samples.
#     """
#     def __init__(self, capture, id):
#         Marker.__init__(self, capture, id)
#         SampledPositionTrajectory.__init__(self)
# 
# class Marker6DOF(SampledRotationTrajectory, Marker3DOF):
#     """
#     A capture marker with 6DOF position & orientation samples.
#     """
#     def __init__(self, capture, id):
#         Marker3DOF.__init__(self, capture, id)
#         SampledRotationTrajectory.__init__(self)


from imusim.capture.marker import MarkerCapture, Marker3DOF, Marker6DOF
from imusim.maths.quaternions import Quaternion, QuaternionArray
import numpy as np
# IMUSim is free software: you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# IMUSim is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with IMUSim.  If not, see <http://www.gnu.org/licenses/>.

from __future__ import division

def loadQualisysTSVFile(filename):
    """
    Load 3DOF or 6DOF marker data from a Qualisys Track Manager TSV file.

    @param filename: Name of TSV file to load.

    @return: A L{MarkerCapture} instance.
    """

    # Open file to read header.
    datafile = open(filename, 'r')

    # Count of header lines in file.
    headerLines = 0


# Path: imusim/capture/marker.py
# class MarkerCapture(object):
#     """
#     Marker trajectory data captured synchronously for one or more markers.
# 
#     @ivar sampleTimes: Sequence of times at which samples were taken.
#     """
# 
#     def __init__(self):
#         """
#         Initialise capture.
#         """
#         self._markers = dict()
# 
#     def _addMarker(self, marker):
#         self._markers[marker.id] = marker
# 
#     @property
#     def markers(self):
#         """
#         List of the markers in this capture.
#         """
#         return self._markers.values()
# 
#     def marker(self, id):
#         """
#         Get a marker by identifier.
# 
#         @return: The L{Marker} with the given identifier.
#         """
#         return self._markers[id]
# 
# class Marker3DOF(SampledPositionTrajectory, Marker):
#     """
#     A capture marker with 3DOF position samples.
#     """
#     def __init__(self, capture, id):
#         Marker.__init__(self, capture, id)
#         SampledPositionTrajectory.__init__(self)
# 
# class Marker6DOF(SampledRotationTrajectory, Marker3DOF):
#     """
#     A capture marker with 6DOF position & orientation samples.
#     """
#     def __init__(self, capture, id):
#         Marker3DOF.__init__(self, capture, id)
#         SampledRotationTrajectory.__init__(self)


# Path: imusim/io/qualisys_tsv.py
from imusim.capture.marker import MarkerCapture, Marker3DOF, Marker6DOF
from imusim.maths.quaternions import Quaternion, QuaternionArray
import numpy as np

# IMUSim is free software: you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# IMUSim is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with IMUSim.  If not, see <http://www.gnu.org/licenses/>.

from __future__ import division

def loadQualisysTSVFile(filename):
    """
    Load 3DOF or 6DOF marker data from a Qualisys Track Manager TSV file.

    @param filename: Name of TSV file to load.

    @return: A L{MarkerCapture} instance.
    """

    # Open file to read header.
    datafile = open(filename, 'r')

    # Count of header lines in file.
    headerLines = 0


    capture = MarkerCapture()