idrlnet.geo_utils package

Submodules

idrlnet.geo_utils.geo module

This module defines basic behaviour of Geometric Objects.

class idrlnet.geo_utils.geo.AbsCheckMix(name, bases, namespace, **kwargs)[source]

Bases: ABCMeta, CheckMeta

class idrlnet.geo_utils.geo.AbsGeoObj[source]

Bases: object

abstract rotation(angle: float, axis: str = 'z')[source]
abstract scaling(scale: float)[source]
abstract translation(direction)[source]
class idrlnet.geo_utils.geo.CheckMeta[source]

Bases: type

Make sure that elements are checked when an instance is created,

class idrlnet.geo_utils.geo.Edge(functions, ranges: Dict, area)[source]

Bases: AbsGeoObj

property axes: List[str]
rotation(angle: float, axis: str = 'z')[source]
sample(density: int, param_ranges=None, low_discrepancy=False) Dict[str, ndarray][source]
scaling(scale: float)[source]
translation(direction)[source]
class idrlnet.geo_utils.geo.Geometry(*args, **kwargs)[source]

Bases: AbsGeoObj

property axes: List[str]
bounds: Dict = None
check_elements()[source]
duplicate() Geometry[source]
edges: List[Edge] = None
generate_geo_obj(other=None)[source]
rotation(angle: float, axis: str = 'z', center=None) Geometry[source]
sample_boundary(density: int, sieve=None, param_ranges: Optional[Dict] = None, low_discrepancy=False) Dict[str, ndarray][source]
sample_interior(density: int, bounds: Optional[Dict] = None, sieve=None, param_ranges: Optional[Dict] = None, low_discrepancy=False) Dict[str, ndarray][source]
scaling(scale: float, center: Optional[Tuple] = None) Geometry[source]
sdf = None
translation(direction: Union[List, Tuple]) Geometry[source]
class idrlnet.geo_utils.geo.Geometry1D(*args, **kwargs)[source]

Bases: Geometry

class idrlnet.geo_utils.geo.Geometry2D(*args, **kwargs)[source]

Bases: Geometry

class idrlnet.geo_utils.geo.Geometry3D(*args, **kwargs)[source]

Bases: Geometry

idrlnet.geo_utils.geo_builder module

A simple factory for constructing Geometric Objects

class idrlnet.geo_utils.geo_builder.GeometryBuilder[source]

Bases: object

GEOMAP = {'Box': <class 'idrlnet.geo_utils.geo_obj.Box'>, 'Channel': <class 'idrlnet.geo_utils.geo_obj.Tube3D'>, 'Channel2D': <class 'idrlnet.geo_utils.geo_obj.Tube2D'>, 'Channel3D': <class 'idrlnet.geo_utils.geo_obj.Tube3D'>, 'Circle': <class 'idrlnet.geo_utils.geo_obj.Circle'>, 'CircularTube': <class 'idrlnet.geo_utils.geo_obj.CircularTube'>, 'Cylinder': <class 'idrlnet.geo_utils.geo_obj.Cylinder'>, 'Heart': <class 'idrlnet.geo_utils.geo_obj.Heart'>, 'Line': <class 'idrlnet.geo_utils.geo_obj.Line'>, 'Line1D': <class 'idrlnet.geo_utils.geo_obj.Line1D'>, 'Plane': <class 'idrlnet.geo_utils.geo_obj.Plane'>, 'Rectangle': <class 'idrlnet.geo_utils.geo_obj.Rectangle'>, 'Sphere': <class 'idrlnet.geo_utils.geo_obj.Sphere'>, 'Triangle': <class 'idrlnet.geo_utils.geo_obj.Triangle'>}
static get_geometry(geo: str, **kwargs) Geometry[source]

Simple factory method for constructing geometry object. :param geo: Specified a string for geometry, which should be in GeometryBuilder.GEOMAP :rtype geo: str :param kwargs: :return: A geometry object with given kwargs. :rtype: Geometry

idrlnet.geo_utils.geo_obj module

Concrete shape.

class idrlnet.geo_utils.geo_obj.Box(*args, **kwargs)[source]

Bases: Geometry3D

class idrlnet.geo_utils.geo_obj.Circle(*args, **kwargs)[source]

Bases: Geometry2D

class idrlnet.geo_utils.geo_obj.CircularTube(*args, **kwargs)[source]

Bases: Geometry3D

class idrlnet.geo_utils.geo_obj.Cylinder(*args, **kwargs)[source]

Bases: Geometry3D

class idrlnet.geo_utils.geo_obj.Heart(*args, **kwargs)[source]

Bases: Geometry2D

class idrlnet.geo_utils.geo_obj.Line(*args, **kwargs)[source]

Bases: Geometry2D

class idrlnet.geo_utils.geo_obj.Line1D(*args, **kwargs)[source]

Bases: Geometry1D

class idrlnet.geo_utils.geo_obj.Plane(*args, **kwargs)[source]

Bases: Geometry3D

class idrlnet.geo_utils.geo_obj.Polygon(*args, **kwargs)[source]

Bases: Geometry2D

rotation(angle: float, axis: str = 'z', center=None)[source]
scaling(scale: float, center: Optional[Tuple] = None)[source]
translation(direction: Union[List, Tuple])[source]
class idrlnet.geo_utils.geo_obj.Rectangle(*args, **kwargs)[source]

Bases: Geometry2D

class idrlnet.geo_utils.geo_obj.Sphere(*args, **kwargs)[source]

Bases: Geometry3D

class idrlnet.geo_utils.geo_obj.Triangle(*args, **kwargs)[source]

Bases: Geometry2D

class idrlnet.geo_utils.geo_obj.Tube(*args, **kwargs)[source]

Bases: Tube3D

class idrlnet.geo_utils.geo_obj.Tube2D(*args, **kwargs)[source]

Bases: Geometry2D

class idrlnet.geo_utils.geo_obj.Tube3D(*args, **kwargs)[source]

Bases: Geometry3D

idrlnet.geo_utils.sympy_np module

Convert sympy expression to np functions todo: converges to torch_util

idrlnet.geo_utils.sympy_np.lambdify_np(f, r: Iterable)[source]