transfer_blend_shape.transfer module¶
-
class
transfer_blend_shape.transfer.
Transfer
(source_mesh=None, target_mesh=None, virtual_mesh=None, iterations=3, threshold=0.001, create_colour_sets=False)¶ Bases:
object
Deformation transfer applies the deformation exhibited by a source mesh onto a different target mesh. The transfer can be aided by a virtual mesh that creates additional triangles.
-
calculate_area
(points)¶ Parameters: points (numpy.Array) – Returns: Triangle areas Return type: numpy.Array
-
calculate_deformation_gradient
(points)¶ Parameters: points (numpy.Array) – Returns: Deformation gradient Return type: numpy.Array
-
static
calculate_edge_matrix
(point1, point2, point3)¶ Parameters: - point1 (numpy.Array) –
- point2 (numpy.Array) –
- point3 (numpy.Array) –
Returns: Edge matrix
Return type: numpy.Array
-
calculate_laplacian_matrix
(weights, ignore)¶ Create a laplacian smoothing matrix based on the weights, for the smoothing the number of vertices and vertex connectivity is used together with the provided weights, the weights are clamped to a maximum of 1. Any ignore indices will have their weights set to 0.
Parameters: - weights (numpy.Array) –
- ignore (numpy.Array) –
Returns: Laplacian smoothing matrix
Return type: scipy.sparse.csr.csr_matrix
-
calculate_laplacian_weights
(points, ignore)¶ Calculate the laplacian weights depending on the change in per vertex area between the source and target points. The calculated weights are smoothed a number of times defined by the iterations, this will even out the smooth.
Parameters: - points (numpy.Array) –
- ignore (numpy.Array) –
Returns: Laplacian weights
Return type: numpy.Array
-
calculate_target_matrix
()¶ Returns: Target matrix Return type: numpy.Array
-
create_colour_sets
¶ Returns: Create colour sets state Return type: bool
-
execute
(points, name)¶ Parameters: - points (numpy.Array) –
- name (str) –
Returns: Target
Return type: str
Raises: - RuntimeError – When transfer is invalid.
- RuntimeError – When vertex count doesn’t match between source and target.
- RuntimeError – When no static vertices are found.
-
execute_from_blend_shape
()¶ Returns: Targets
Return type: list[str]
Raises: - RuntimeError – When transfer is invalid.
- RuntimeError – When vertex count doesn’t match between source and target.
- RuntimeError – When no blend shape is connected to the source.
- RuntimeError – When no static vertices are found.
-
execute_from_mesh
(mesh, name=None)¶ Parameters: - mesh (str) –
- name (str/None) –
Returns: Target
Return type: str
Raises: - RuntimeError – When transfer is invalid.
- RuntimeError – When vertex count doesn’t match between source and target.
- RuntimeError – When provided mesh is not a mesh.
- RuntimeError – When mesh vertex count doesn’t match source.
- RuntimeError – When no static vertices are found.
-
filter_vertices
(points)¶ Parameters: points (numpy.Array) – Returns: Static/Dynamic vertices Return type: numpy.Array, numpy.Array
-
get_source_area
(*args, **kwargs)¶ Returns: Source triangle area Return type: numpy.Array Raises: RuntimeError – When source is not defined.
-
get_source_points
(*args, **kwargs)¶ Returns: Source points Return type: numpy.Array Raises: RuntimeError – When source is not defined.
-
get_source_triangles
(*args, **kwargs)¶ Returns: Source triangles Return type: list[int] Raises: RuntimeError – When source is not defined.
-
get_target_connectivity
(*args, **kwargs)¶ Returns: Target connectivity Return type: list[list[int]] Raises: RuntimeError – When target is not defined.
-
get_target_matrix
(*args, **kwargs)¶ Returns: Target matrix Return type: numpy.Array Raises: RuntimeError – When target is not defined.
-
get_target_points
(*args, **kwargs)¶ Returns: Target points Return type: numpy.Array Raises: RuntimeError – When target is not defined.
-
get_virtual_triangles
(*args, **kwargs)¶ Parameters: threshold (float) – Returns: Virtual triangles Return type: list[int] Raises: RuntimeError – When minimum length surpasses threshold.
-
is_valid
()¶ Returns: Valid state Return type: bool
-
is_valid_with_blend_shape
()¶ Returns: Valid state + blend shape Return type: bool
-
iterations
¶ Returns: Iterations Return type: int
-
set_create_colour_sets
(state)¶ Parameters: state (bool) –
-
set_iterations
(iterations)¶ Parameters: iterations (int) –
Raises: - TypeError – When iterations is not a int.
- ValueError – When iterations is lower than 0.
-
set_source_mesh
(source_mesh)¶ Parameters: source_mesh (str) –
-
set_target_mesh
(target_mesh)¶ Parameters: target_mesh (str) –
-
set_threshold
(threshold)¶ Parameters: threshold (float) –
Raises: - TypeError – When threshold is not a float or int.
- ValueError – When threshold is lower or equal to 0.
-
set_virtual_mesh
(virtual_mesh)¶ Parameters: virtual_mesh (str) –
-
source_mesh
¶ Returns: Source mesh Return type: str
-
target_mesh
¶ Returns: Target mesh Return type: str
-
threshold
¶ Returns: Threshold Return type: float
-
virtual_mesh
¶ Returns: Virtual Return type: str
-