Go to the documentation of this file.00001
00002 '''Abstract class defining an interface to primitives
00003 '''
00004
00005 from abc import ABCMeta, abstractmethod
00006
00007 class Primitive:
00008 __metaclass__ = ABCMeta
00009
00010 @abstractmethod
00011 def __init__(self):
00012 pass
00013
00014 @abstractmethod
00015 def build_from_json(self, json):
00016 pass
00017
00018 @abstractmethod
00019 def get_json(self):
00020 pass
00021
00022 @abstractmethod
00023 def check_pre_condition(self):
00024 pass
00025
00026 @abstractmethod
00027 def check_post_condition(self):
00028 pass
00029
00030 @abstractmethod
00031 def add_marker_callbacks(self, click_cb,
00032 delete_cb,
00033 pose_change_cb,
00034 action_change_cb):
00035 pass
00036
00037 @abstractmethod
00038 def show_marker(self):
00039 pass
00040
00041 @abstractmethod
00042 def hide_marker(self):
00043 pass
00044
00045 @abstractmethod
00046 def marker_visible(self):
00047 pass
00048
00049 @abstractmethod
00050 def update_ref_frames(self):
00051 pass
00052
00053 @abstractmethod
00054 def change_ref_frame(self, ref_type, landmark):
00055 pass
00056
00057 @abstractmethod
00058 def select(self, is_selected):
00059 pass
00060
00061 @abstractmethod
00062 def is_selected(self):
00063 pass
00064
00065 @abstractmethod
00066 def is_control_visible(self):
00067 pass
00068
00069 @abstractmethod
00070 def set_control_visible(self, visible=True):
00071 pass
00072
00073 @abstractmethod
00074 def update_viz(self, check_reachable=True):
00075 pass
00076
00077 @abstractmethod
00078 def get_primitive_number(self):
00079 pass
00080
00081 @abstractmethod
00082 def set_primitive_number(self, number):
00083 pass
00084
00085 @abstractmethod
00086 def is_object_required(self):
00087 pass
00088
00089 @abstractmethod
00090 def execute(self):
00091 pass
00092
00093 @abstractmethod
00094 def head_busy(self):
00095 pass
00096
00097 @abstractmethod
00098 def is_reachable(self):
00099 pass
00100
00101 @abstractmethod
00102 def get_relative_pose(self, use_final=True):
00103 pass
00104
00105 @abstractmethod
00106 def get_absolute_pose(self):
00107 pass
00108
00109 @abstractmethod
00110 def get_absolute_marker_pose(self, use_final=True):
00111 pass
00112
00113 @abstractmethod
00114 def get_absolute_marker_position(self, use_final=True):
00115 pass
00116
00117 @abstractmethod
00118 def decrease_id(self):
00119 pass
00120
00121 @abstractmethod
00122 def set_name(self, name):
00123 pass
00124
00125 @abstractmethod
00126 def get_name(self):
00127 pass
00128
00129 @abstractmethod
00130 def get_number(self):
00131 pass
00132
00133 @abstractmethod
00134 def set_pose(self, pose):
00135 pass
00136
00137 @abstractmethod
00138 def pose_editable(self):
00139 pass
00140
00141 @abstractmethod
00142 def get_ref_type(self):
00143 pass
00144
00145
00146