vispy.visuals.transforms.chain module#
- class vispy.visuals.transforms.chain.ChainTransform(*transforms)#
Bases:
BaseTransform
BaseTransform subclass that performs a sequence of transformations in order. Internally, this class uses shaders.FunctionChain to generate its glsl_map and glsl_imap functions.
- Parameters:
- transformslist of BaseTransform instances
See
transforms
property.
- property Isometric#
- property Linear#
- property NonScaling#
- property Orthogonal#
- append(tr)#
Add a new transform to the end of this chain.
- Parameters:
- trinstance of Transform
The transform to use.
- glsl_imap = None#
- glsl_map = None#
- imap(coords)#
Inverse map coordinates
- Parameters:
- coordsarray-like
Coordinates to inverse map.
- Returns:
- coordsndarray
Coordinates.
- map(coords)#
Map coordinates
- Parameters:
- coordsarray-like
Coordinates to map.
- Returns:
- coordsndarray
Coordinates.
- prepend(tr)#
Add a new transform to the beginning of this chain.
- Parameters:
- trinstance of Transform
The transform to use.
- shader_imap()#
See shader_map.
- shader_map()#
Return a shader Function that accepts only a single vec4 argument and defines new attributes / uniforms supplying the Function with any static input.
- property simplified#
A simplified representation of the same transformation.
- property transforms#
The list of transform that make up the transform chain.
The order of transforms is given such that the last transform in the list is the first to be invoked when mapping coordinates through the chain.
For example, the following two mappings are equivalent:
# Map coordinates through individual transforms: trans1 = STTransform(scale=(2, 3), translate=(0, 1)) trans2 = PolarTransform() mapped = trans1.map(trans2.map(coords)) # Equivalent mapping through chain: chain = ChainTransform([trans1, trans2]) mapped = chain.map(coords)
- class vispy.visuals.transforms.chain.SimplifiedChainTransform(chain)#
Bases:
ChainTransform
- source_changed(event)#
Generate a simplified chain by joining adjacent transforms.