2#ifndef AMREX_EB2_IF_SPLINE_H_
3#define AMREX_EB2_IF_SPLINE_H_
4#include <AMReX_Config.H>
33 auto theSpline = std::make_shared<SplineDistFcnElement2d>();
34 theSpline->set_control_points(std::move(pts));
43 auto theLine = std::make_shared<LineDistFcnElement2d>();
44 theLine->set_control_points(std::move(pts));
63 closesetGeomElement = geom.get();
Runtime initialization/finalization helpers and global diagnostics.
Fixed-size array types for use on GPU and CPU.
#define AMREX_D_DECL(a, b, c)
Definition AMReX_SPACE.H:171
Implicit function that measures distance to a poly-spline curve in 2-D.
Definition AMReX_EB2_IF_Spline.H:24
amrex::Vector< std::shared_ptr< distFcnElement2d > > geomElements
Collection of geometry elements that define the curve.
Definition AMReX_EB2_IF_Spline.H:71
void addSplineElement(std::vector< amrex::RealVect > pts)
Append a spline segment described by control points pts.
Definition AMReX_EB2_IF_Spline.H:32
void addLineElement(std::vector< amrex::RealVect > pts)
Append a straight line segment with endpoints/control points pts.
Definition AMReX_EB2_IF_Spline.H:42
amrex::Real operator()(const amrex::RealArray &p) const
Signed distance to the closest spline/line element through p.
Definition AMReX_EB2_IF_Spline.H:53
This class is a thin wrapper around std::vector. Unlike vector, Vector::operator[] provides bound che...
Definition AMReX_Vector.H:29
Abstract base for 2-D distance-function elements.
Definition AMReX_distFcnElement.H:18
virtual amrex::Real cpside(amrex::RealVect pt, amrex::RealVect &cp) const =0
amrex_real Real
Floating Point Type for Fields.
Definition AMReX_REAL.H:80
Array< Real, 3 > RealArray
Definition AMReX_Array.H:35
Definition AMReX_FabArrayBase.H:38