mindflow.geometry.CSGUnion
- class mindflow.geometry.CSGUnion(geom1, geom2, sampling_config=None)[source]
CSG class for union of geometries.
- Parameters
geom1 (Geometry) – a geometry object.
geom2 (Geometry) – a geometry object to be subtracted from geom1.
sampling_config (SamplingConfig) – sampling configuration. Default:
None
.
- Supported Platforms:
Ascend
GPU
Examples
>>> from mindflow.geometry import generate_sampling_config, Disk, Rectangle, CSGUnion >>> sampling_config_csg = dict({ ... 'domain': dict({ ... 'random_sampling': True, ... 'size': 1000, ... 'sampler': 'uniform' ... }), ... 'BC': dict({ ... 'random_sampling': True, ... 'size': 200, ... 'sampler': 'uniform', ... 'with_normal': True, ... }), ... }) >>> disk = Disk("disk", (1.2, 0.5), 0.8) >>> rect = Rectangle("rect", (-1.0, 0), (1, 1)) >>> union = CSGUnion(rect, disk) >>> union.set_sampling_config(generate_sampling_config(sampling_config_csg)) >>> domain = union.sampling(geom_type="domain") >>> bc, bc_normal = union.sampling(geom_type="BC") >>> print(domain.shape) (1000, 2)