1
0
mirror of https://github.com/moparisthebest/Simba synced 2024-12-23 15:58:51 -05:00
Simba/Projects/libmml/pymml/mml/dtm.py
2010-12-01 21:38:20 +01:00

56 lines
1.4 KiB
Python
Executable File

from ctypes import *
from mtypes import RESULT_OK, RESULT_FALSE, RESULT_ERROR
# There are several problems with DTM and libMML.
# We could create them in the libMML DTM manager, but we'll have to keep track
# of the DTMs; and if Python garbage collector deletes then, we could try to use
# __del__ to clear it from the DTM Manager.
#
# Or we could go for a bit of overhead and create the DTM every time we want to
# 'find' it.
# TMDTMPoint Structure
class _DTMPoint(Structure):
_fields_ = [('x', c_int), ('y', c_int), ('c', c_int), ('t', c_int), \
('asz', c_int), ('bp', c_int)]
class DTMPoint(object):
def __init__(self, x, y, c, t, asz, bp):
self.x, self.y, self.c, self.t, self.asz, self.bp = x, y, c, t, asz, bp
class DTMException(Exception):
pass
class DTM(object):
def __init__(self, points):
if type(points) not in [list, tuple]:
raise DTMException('points is not a list or tuple')
for i in points:
if type(i) is not DTMPoint:
raise DTMException('Each point in points should be a DTMPoint')
self.points = points
self.name = 'Unnamed DTM'
def __del__(self):
pass
def __repr__(self):
return '<DTM: %s>' % self.name
def to_str(self):
pass
def from_str(self):
pass
def find(self):
pass
def set_name(self):
self.name = name
pass