def order(self, other): min_x, max_x = mhat.order(self.get_x(), other.get_x()) min_y, max_y = mhat.order(self.get_y(), other.get_y()) min_z, max_z = mhat.order(self.get_z(), other.get_z()) return mhat.Vector3(min_x, min_y, min_z), mhat.Vector3(max_x, max_y, max_z)
def __div__(self, scalar): if isinstance(scalar, (int, float, long)): return mhat.Vector3(self.get_x() / scalar, self.get_y() / scalar, self.get_z() / scalar) return NotImplemented
def __sub__(self, other): return mhat.Vector3(self.get_x() - other.get_x(), self.get_y() - other.get_y(), self.get_z() - other.get_z())
def __add__(self, other): return mhat.Vector3(self.get_x() + other.get_x(), self.get_y() + other.get_y(), self.get_z() + other.get_z())
def get_with_z(self, z): return mhat.Vector3(self.get_x(), self.get_y(), z)
def get_with_y(self, y): return mhat.Vector3(self.get_x(), y, self.get_z())
def get_with_x(self, x): return mhat.Vector3(x, self.get_y(), self.get_z())