# mgear.core.vector module¶

Functions to work with vectors

class `mgear.core.vector.``Blade`(t=<sphinx.ext.autodoc.importer._MockObject object>)

Bases: `object`

The Blade object for shifter guides

`mgear.core.vector.``calculatePoleVector`(p1, p2, p3, poleDistance=1, time=1)

This function takes 3 PyMEL PyNodes as inputs. Creates a pole vector position at a “nice” distance away from a triangle of positions. Normalizes the bone lengths relative to the knee to calculate straight ahead without shifting up and down if the bone lengths are different. Returns a pymel.core.datatypes.Vector

Parameters: p1 (dagNode) – Object A p2 (dagNode) – Object B p3 (dagNode) – Object C poleDistance (float) – distance of the pole vector from the mid point The transposed vector. vector
`mgear.core.vector.``getDistance`(v0, v1)

Get the distance between 2 vectors

Parameters: v0 (vector) – vector A. v1 (vector) – vector B. Distance length. float
`mgear.core.vector.``getDistance2`(obj0, obj1)

Get the distance between 2 objects.

Parameters: obj0 (dagNode) – Object A obj1 (dagNode) – Object B Distance length float
`mgear.core.vector.``getPlaneBiNormal`(v0, v1, v2)

Get the binormal vector of a plane (Defined by 3 positions).

Parameters: v0 (vector) – First position on the plane. v1 (vector) – Second position on the plane. v2 (vector) – Third position on the plane. The binormal. vector
`mgear.core.vector.``getPlaneNormal`(v0, v1, v2)

Get the normal vector of a plane (Defined by 3 positions).

Parameters: v0 (vector) – First position on the plane. v1 (vector) – Second position on the plane. v2 (vector) – Third position on the plane. The normal. vector
`mgear.core.vector.``getTransposedVector`(v, position0, position1, inverse=False)

Get the transposed vector.

Parameters: v (vector) – Input Vector. position0 (vector) – Position A. position1 (vector) – Position B. inverse (bool) – Invert the rotation. The transposed vector. vector
```>>> normal = vec.getTransposedVector(self.normal,
[self.guide.apos,
self.guide.apos],
[self.guide.apos[-2],
self.guide.apos[-1]])
```
`mgear.core.vector.``linearlyInterpolate`(v0, v1, blend=0.5)

Get the vector interpolated between 2 vectors.

Parameters: v0 (vector) – vector A. v1 (vector) – vector B. blend (float) – Blending value. The interpolated vector. vector
`mgear.core.vector.``rotateAlongAxis`(v, axis, a)

Rotate a vector around a given axis defined by other vector.

Parameters: v (vector) – The vector to rotate. axis (vector) – The axis to rotate around. a (float) – The rotation angle in radians.