Base.Placement class.\n A Placement defines an orientation (rotation) and a position (base) in 3D space. It is used when no scaling or other distortion is needed.\n The following constructors are supported:\n Placement() Empty constructor.\n Placement(placement) Copy constructor. placement : Base.Placement\n Placement(matrix) Define from a 4D matrix consisting of rotation and translation. matrix : Base.Matrix\n Placement(base, rotation) Define from position and rotation. base : Base.Vector rotation : Base.Rotation\n Placement(base, rotation, center) Define from position and rotation with center. base : Base.Vector rotation : Base.Rotation center : Base.Vector\n Placement(base, axis, angle) define position and rotation. base : Base.Vector axis : Base.Vector angle : float Placement copy() -> Base.Placement\n Returns a copy of this placement. move(vector) -> None\n Move the placement along a vector.\n vector : Base.Vector\n Vector by which to move the placement. translate(vector) -> None\n Alias to move(), to be compatible with TopoShape.translate().\n vector : Base.Vector\n Vector by which to move the placement. rotate(center, axis, angle) -> None\n Rotate the current placement around center and axis with the given angle. This method is compatible with TopoShape.rotate().\n center : Base.Vector, sequence of float\n Rotation center. axis : Base.Vector, sequence of float\n Rotation axis. angle : float\n Rotation angle in degrees. multiply(placement) -> Base.Placement\n Right multiply this placement with another placement. Also available as `*` operator.\n placement : Base.Placement\n Placement by which to multiply this placement. multVec(vector) -> Base.Vector\n Compute the transformed vector using the placement.\n vector : Base.Vector\n Vector to be transformed. toMatrix() -> Base.Matrix\n Compute the matrix representation of the placement. inverse() -> Base.Placement\n Compute the inverse placement. pow(t, shorten=True) -> Base.Placement\n Raise this placement to real power using ScLERP interpolation. Also available as `**` operator.\n t : float\n Real power. shorten : bool\n If True, ensures rotation quaternion is net positive to make the path shorter. sclerp(placement2, t, shorten=True) -> Base.Placement\n Screw Linear Interpolation (ScLERP) between this placement and `placement2`. Interpolation is a continuous motion along a helical path parametrized by `t` made of equal transforms if discretized. If quaternions of rotations of the two placements differ in sign, the interpolation will take a long path.\n placement2 : Base.Placement t : float\n Parameter of helical path. t=0 returns this placement, t=1 returns `placement2`. t can also be outside of [0, 1] range for extrapolation. shorten : bool\n If True, the signs are harmonized before interpolation and the interpolation takes the shorter path. slerp(placement2, t) -> Base.Placement\n Spherical Linear Interpolation (SLERP) between this placement and `placement2`. This function performs independent interpolation of rotation and movement. Result of such interpolation might be not what application expects, thus this tool might be considered for simple cases or for interpolating between small intervals. For more complex cases you better use the advanced sclerp() function.\n placement2 : Base.Placement t : float\n Parameter of the path. t=0 returns this placement, t=1 returns `placement2`. isIdentity() -> bool\n Returns True if the placement has no displacement and no rotation. Matrix representation is the 4D identity matrix. Vector to the Base Position of the Placement. Orientation of the placement expressed as rotation. Set/get matrix representation of the placement. public: PlacementPy(const Placement & pla, PyTypeObject *T = &Type) :PyObjectBase(new Placement(pla),T){} Placement value() const { return *(getPlacementPtr()); }