hexed 0.3.0
 
Loading...
Searching...
No Matches
hexed::Surface_geom Class Referenceabstract

Represents a surface geometry implicitly for meshing. More...

#include <Surface_geom.hpp>

Inheritance diagram for hexed::Surface_geom:
hexed::Compound_geom hexed::Hypersphere hexed::Occt::Geom hexed::Simplex_geom_nd hexed::Simplex_geom< n_dim >

Public Member Functions

virtual Nearest_point< dynnearest_point (Mat<> point, double max_distance=huge, double distance_guess=huge)=0
 Computes the point on the surface which is nearest to point within max_distance.
 
virtual std::vector< double > intersections (Mat<> point0, Mat<> point1)=0
 Computes the set of intersection points between a line and the surface.
 

Detailed Description

Represents a surface geometry implicitly for meshing.

Abstract class which represents geometry by supporting the operations Surface_geom::nearest_point and Surface_geom::intersections. Either of these operations fully defines the surface geometry and each could, in theory, be defined in terms of the other. However, in practice they are defined separately so that derived classes can implement each in the most efficient and robust way possible. It is the responsibility of the derived class to ensure that they are mutually consistent. The derived class may impose dimensionality restrictions on the arguments. Implementations must be thread-safe.

Member Function Documentation

◆ intersections()

virtual std::vector< double > hexed::Surface_geom::intersections ( Mat<> point0,
Mat<> point1 )
pure virtual

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.

Implemented in hexed::Compound_geom, hexed::Hypersphere, hexed::Occt::Geom, and hexed::Simplex_geom< n_dim >.

◆ nearest_point()

virtual Nearest_point< dyn > hexed::Surface_geom::nearest_point ( Mat<> point,
double max_distance = huge,
double distance_guess = huge )
pure virtual

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.

Implemented in hexed::Compound_geom, hexed::Hypersphere, hexed::Occt::Geom, and hexed::Simplex_geom< n_dim >.


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