fibomat.layout.lattices.lattice module¶
- class fibomat.layout.lattices.lattice.Lattice(elements: List[fibomat.linalg.transformables.transformable.Transformable], description: Optional[str] = None)[source]¶
Bases:
fibomat.layout.groups.group_base.GroupBase[fibomat.linalg.transformables.transformable.Transformable,fibomat.linalg.vectors.vector.Vector,fibomat.linalg.boundingboxes.boundingbox.BoundingBox],fibomat.linalg.transformables.transformable.Transformable- __init__(elements: List[fibomat.linalg.transformables.transformable.Transformable], description: Optional[str] = None)[source]¶
- Args:
description (str, optional): description
- classmethod generate_rect(nu: int, nv: int, du: float, dv: float, element: Union[fibomat.linalg.transformables.transformable.Transformable, Callable], center: Optional[Union[fibomat.linalg.vectors.vector.Vector, Iterable[float]]] = None, predicate: Optional[Union[Callable, List[Callable]]] = None, explode: bool = False, remove_outliers: bool = False)[source]¶
- classmethod generate(boundary: Union[fibomat.shapes.hollow_arc_spline.HollowArcSpline, fibomat.shapes.arc_spline.ArcSplineCompatible], u: Union[fibomat.linalg.vectors.vector.Vector, Iterable[float]], v: Union[fibomat.linalg.vectors.vector.Vector, Iterable[float]], element: Union[fibomat.linalg.transformables.transformable.Transformable, Callable[[Tuple[float, float], Tuple[int, int]], Optional[fibomat.linalg.transformables.transformable.Transformable]]], center: Optional[Union[fibomat.linalg.vectors.vector.Vector, Iterable[float]]] = None, predicate: Optional[Union[Callable, List[Callable]]] = None, explode: bool = False, remove_outliers: bool = False, seed: Optional[Union[fibomat.linalg.vectors.vector.Vector, Iterable[float]]] = None)[source]¶
- property bounding_box: fibomat.layout.groups.group_base.BBoxT¶
BoundingBox: bounding box of transformable- Access:
get
- property center: fibomat.layout.groups.group_base.VectorT¶
center of the (geometric) object
- Access:
get
- Returns:
Any
- clone() fibomat.describable.T¶
Create a deepcopy of the object.
- Returns:
Describable
- property description: Optional[str]¶
Description str.
- Access:
get
- Returns:
Optional[str]
- property elements¶
- layout_elements() Iterator[fibomat.layout.layoutbase.ElementT]¶
Access to the saved elements.
- Yields:
Any: Type depends on saved element.
- mirrored(mirror_plane: fibomat.linalg.transformables.transformable_base.VectorT) fibomat.linalg.transformables.transformable_base.SelfT¶
Return a mirrored object mirrored about mirror_plane.
- Args:
mirror_plane (VectorLike): mirror plane to be used.
- Returns:
TransformableBase
- property pivot: fibomat.linalg.transformables.transformable_base.VectorT¶
Origin of the (geometric) object. If origin is set to None,
Transformable.centerwill be returned.Pivot must be set to a callable function without parameters.
transformable_obj = ... transformable_obj.pivot = lambda: return Vector(1, 2) print(transformable_obj.pivot) # will print Vector(1, 2)
- Access:
get/set
- Returns:
Vector
- rotated(theta: float, origin: Optional[Union[fibomat.linalg.transformables.transformable_base.VectorT, str]] = None) fibomat.linalg.transformables.transformable_base.SelfT¶
Return a rotated copy around origin with angle theta in math. positive direction (counterclockwise).
- Args:
theta (float): rotation angle in rad origin (Optional[Union[linalg.VectorLike, str]], optional):
origin of rotation. If not set, (0,0) is used as origin. If origin == ‘center’, the
Transformable.centerof the object will be used. The same applies for the case that origin == ‘origin’ with theTransformable.originproperty. Default to None.- Returns:
TransformableBase
- scaled(fac: float, origin: Optional[Union[fibomat.linalg.transformables.transformable_base.VectorT, str]] = None) fibomat.linalg.transformables.transformable_base.SelfT¶
Return a scale object homogeneously about origin with factor s.
- Args:
fac (float): rotation angle in rad origin (Optional[Union[linalg.VectorLike, str]], optional):
origin of rotation. If not set, (0,0) is used as origin. If origin == ‘center’, the
Transformable.centerof the object will be used. The same applies for the case that origin == ‘origin’ with theTransformable.originproperty. Default to None.- Returns:
TransformableBase
- transformed(transformations: fibomat.linalg.transformables.transformation_builder._TransformationBuilder[fibomat.linalg.transformables.transformable_base.VectorT]) fibomat.linalg.transformables.transformable_base.SelfT¶
- Return a transformed object. the transformation can be build by the following functions:
translate()rotate()scale()mirror()
E.g.
transformable_obj.transform(translate([1, 2]) | rotate(np.pi/3) | mirror([3,4])
- Args:
transformations (_TransformationBuilder): transformation
- Returns:
TransformableBase
- translated(trans_vec: fibomat.linalg.transformables.transformable_base.VectorT) fibomat.linalg.transformables.transformable_base.SelfT¶
Return a translated copy of the object by trans_vec.
- Args:
trans_vec (VectorLike): translation vector
- Returns:
TransformableBase
- translated_to(pos: fibomat.linalg.transformables.transformable_base.VectorT) fibomat.linalg.transformables.transformable_base.SelfT¶
Return a translated copy of the object so that self.pivot == pos
- Args:
pos: new position of object
- Returns:
TransformableBase