00001 # 00002 # Copyright (c) 2010, Georgia Tech Research Corporation 00003 # All rights reserved. 00004 # 00005 # Redistribution and use in source and binary forms, with or without 00006 # modification, are permitted provided that the following conditions are met: 00007 # * Redistributions of source code must retain the above copyright 00008 # notice, this list of conditions and the following disclaimer. 00009 # * Redistributions in binary form must reproduce the above copyright 00010 # notice, this list of conditions and the following disclaimer in the 00011 # documentation and/or other materials provided with the distribution. 00012 # * Neither the name of the Georgia Tech Research Corporation nor the 00013 # names of its contributors may be used to endorse or promote products 00014 # derived from this software without specific prior written permission. 00015 # 00016 # THIS SOFTWARE IS PROVIDED BY GEORGIA TECH RESEARCH CORPORATION ''AS IS'' AND 00017 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 00018 # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00019 # DISCLAIMED. IN NO EVENT SHALL GEORGIA TECH BE LIABLE FOR ANY DIRECT, INDIRECT, 00020 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 00021 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 00022 # OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 00023 # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 00024 # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 00025 # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00026 # 00027 00028 # \author Martin Schuster (Healthcare Robotics Lab, Georgia Tech.) 00029 class label_object(object): 00030 00031 00032 def __init__(self): 00033 ''' 00034 Constructor 00035 ''' 00036 self.points = [] 00037 self.label = 'object' 00038 00039 00040 def get_points(self): 00041 return self.points 00042 00043 00044 def add_point(self, x): 00045 self.points.append(x) 00046 00047 00048 def set_label(self, label): 00049 self.label = label 00050 00051 def get_label(self): 00052 return self.label 00053 00054 def get_type(self): 00055 if self.label == 'edge' or self.label == 'edge_up' or self.label == 'edge_down': 00056 return 'line' 00057 else: 00058 return 'polygon' 00059 00060 def set_type(self, type): 00061 self.type = type 00062 00063 def delete_last_point(self): 00064 self.points.pop() 00065 00066 def is_empty(self): 00067 return len(self.points)==0