hexed 0.4.0
 
Loading...
Searching...
No Matches
hexed::Compound_geom Class Reference

Combines multiple Surface_geoms into one. More...

#include <Surface_geom.hpp>

Inheritance diagram for hexed::Compound_geom:
hexed::Surface_geom

Public Member Functions

 Compound_geom (std::vector< Surface_geom * >)
 acquires ownership
 
Nearest_point< dynnearest_point (Mat<> point, double max_distance=huge, double distance_guess=huge) override
 Computes the point on the surface which is nearest to point within max_distance.
 
std::vector< double > intersections (Mat<> point0, Mat<> point1, bool high_precision=true) override
 Computes the set of intersection points between a line and the surface.
 
next::Sequence< const Geom_edge & > edges () override
 Returns a list of any geometry edges that require mesh edges to be snapped to them.
 
next::Sequence< Mat< 3 > > points () override
 

Detailed Description

Combines multiple Surface_geoms into one.

The nearest point to the compound geometry is the nearest of the nearest points on the component geometries and the intersection set is the union of the intersection sets of the components.

Member Function Documentation

◆ edges()

next::Sequence< const Geom_edge & > hexed::Compound_geom::edges ( )
overridevirtual

Returns a list of any geometry edges that require mesh edges to be snapped to them.

Only used in 3D. Default implementation returns an empty sequence, but derived classes may override.

Reimplemented from hexed::Surface_geom.

◆ intersections()

std::vector< double > hexed::Compound_geom::intersections ( Mat<> point0,
Mat<> point1,
bool high_precision = true )
overridevirtual

Computes the set of intersection points between a line and the surface.

The line is defined parametrically to be the set of points \( [\text{point0}] + t [\text{point1}] \) for all \( t \in \mathbb{R} \). Returns the (potentially empty) set of \( t \) values where the line intersects the surface.

Deprecated
Newer methods should be based purely on nearest point projections.

Implements hexed::Surface_geom.

◆ nearest_point()

Nearest_point< dyn > hexed::Compound_geom::nearest_point ( Mat<> point,
double max_distance = huge,
double distance_guess = huge )
overridevirtual

Computes the point on the surface which is nearest to point within max_distance.

If no point is found, returns an empty Nearest_point.

Parameters
pointThe point you want to find the nearest point to.
max_distanceOnly consider points within max_distance of point.
distance_guessIf you have some reason to suspect the nearest point is within a certain distance of the input point, you can pass it to this parameter as a hint to possibly improve performance.

Implements hexed::Surface_geom.

◆ points()

next::Sequence< Mat< 3 > > hexed::Compound_geom::points ( )
overridevirtual

Reimplemented from hexed::Surface_geom.


The documentation for this class was generated from the following files: