'**SUMMARY**
Rotate the blob given an  angle in degrees. If you use this method
most of the blob elements will
be rotated in place , however, this will "break" drawing back to the original image.
To draw the blob create a new layer and draw to that layer. Positive rotations
are counter clockwise.
**PARAMETERS**
* *angle* - A floating point angle in degrees. Positive is anti-clockwise.
**RETURNS**
.. Warning:
Nothing. All rotations are performed in place. This modifies the blob\'s data
and will break any image write back capabilities.
**EXAMPLE**
>>> img = Image("lenna")
>>> blobs = img.findBlobs()
>>> blobs[-2].mImg.show()
>>> blobs[-2].rotate(90)
>>> blobs[-2].mImg.show()'

def rotate(self, angle):

    theta = ((2 * np.pi) * (angle / 360.0))
    mode = ''
    point = (self.x, self.y)
    self.mImg = self.mImg.rotate(angle, mode, point)
    self.mHullImg = self.mHullImg.rotate(angle, mode, point)
    self.mMask = self.mMask.rotate(angle, mode, point)
    self.mHullMask = self.mHullMask.rotate(angle, mode, point)
    self.mContour = map((lambda x: (((x[0] * np.cos(theta)) - (x[1] * np.sin(theta))), ((x[0] * np.sin(theta)) + (x[1] * np.cos(theta))))), self.mContour)
    self.mConvexHull = map((lambda x: (((x[0] * np.cos(theta)) - (x[1] * np.sin(theta))), ((x[0] * np.sin(theta)) + (x[1] * np.cos(theta))))), self.mConvexHull)
    if (self.mHoleContour is not None):
        for h in self.mHoleContour:
            h = map((lambda x: (((x[0] * np.cos(theta)) - (x[1] * np.sin(theta))), ((x[0] * np.sin(theta)) + (x[1] * np.cos(theta))))), h)
