mgear.core.vector module
Functions to work with vectors
- class mgear.core.vector.Blade(t=maya.api.OpenMaya.MMatrix)
Bases:
objectThe Blade object for shifter guides
- mgear.core.vector.add_3Dvectors_list(vec_a, vec_b)
Add two 3D vectors represented as lists.
- Parameters:
vec_a (list) – First vector [x, y, z].
vec_b (list) – Second vector [x, y, z].
- Returns:
Resulting vector after addition.
- Return type:
list
- mgear.core.vector.calculatePoleVector(p1, p2, p3, poleDistance=1, time=1)
This function takes 3 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
- Returns:
The transposed vector.
- Return type:
vector
- mgear.core.vector.getDistance(v0, v1)
Get the distance between 2 vectors
- Parameters:
v0 (vector) – vector A.
v1 (vector) – vector B.
- Returns:
Distance length.
- Return type:
float
- mgear.core.vector.getDistance2(obj0, obj1)
Get the distance between 2 objects.
- Parameters:
obj0 (dagNode) – Object A
obj1 (dagNode) – Object B
- Returns:
Distance length
- Return type:
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.
- Returns:
The binormal.
- Return type:
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.
- Returns:
The normal.
- Return type:
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.
- Returns:
The transposed vector.
- Return type:
vector
>>> normal = vec.getTransposedVector(self.normal, [self.guide.apos[0], self.guide.apos[1]], [self.guide.apos[-2], self.guide.apos[-1]])
- mgear.core.vector.get_mvector(obj)
Get MVector position of an object in world space.
- Parameters:
obj (str) – Object name.
- Returns:
Position in world space.
- Return type:
OpenMaya.MVector
- 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.
- Returns:
The interpolated vector.
- Return type:
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.
- mgear.core.vector.subtract_3Dvectors_list(vec_a, vec_b)
Subtract two 3D vectors represented as lists.
- Parameters:
vec_a (list) – First vector [x, y, z].
vec_b (list) – Second vector [x, y, z].
- Returns:
Resulting vector after subtraction.
- Return type:
list